Как создать схему с помощью метода Schema.from_lists в Alibaba ODPS python SDK?

Обычно я создаю схему, инициализируя ее с помощью столбцов таблицы и дополнительных разделов. Я понимаю, что создание схемы с помощью метода Schema.from_lists в Alibaba ODPS python SDK намного лучше с точки зрения LOC и производительности.

Код, который я часто использую для создания схемы:

from odps.models import Schema, Column, Partition
columns = [Column(name='num', type='bigint', comment='the column')]
partitions = [Partition(name='pt', type='string', comment='the partition')]
schema = Schema(columns=columns, partitions=partitions)
print(schema.columns)

Выход:

[<column num, type bigint>, <partition pt, type string>]

Как создать схему с помощью метода Schema.from_lists?


person Ranjith Udayakumar    schedule 20.12.2018    source источник


Ответы (1)


Вы можете создать, передав четыре списка.

In [33]: Schema.from_lists(['num'], ['bigint'], ['pt'], ['string'])             
Out[33]: 
odps.Schema {
  num   bigint      
}
Partitions {
  pt    string      
}

Обратной стороной является то, что таким образом вы больше не можете указывать комментарий столбцов.

person Chine King    schedule 08.01.2019