如何在阿里巴巴ODPS python SDK中使用Schema.from_lists方法创建schema?
How to create schema by using Schema.from_lists method in Alibaba ODPS python SDK?
我通常通过 table 列和可选分区进行初始化来创建模式。我了解通过阿里巴巴 ODPS python SDK 中的 Schema.from_lists
方法创建模式在 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
方法创建模式?
传递四个列表即可创建。
In [33]: Schema.from_lists(['num'], ['bigint'], ['pt'], ['string'])
Out[33]:
odps.Schema {
num bigint
}
Partitions {
pt string
}
缺点是这样就不能再指定列的注释了
我通常通过 table 列和可选分区进行初始化来创建模式。我了解通过阿里巴巴 ODPS python SDK 中的 Schema.from_lists
方法创建模式在 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
方法创建模式?
传递四个列表即可创建。
In [33]: Schema.from_lists(['num'], ['bigint'], ['pt'], ['string'])
Out[33]:
odps.Schema {
num bigint
}
Partitions {
pt string
}
缺点是这样就不能再指定列的注释了