当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python pyflink TableEnvironment.from_elements用法及代码示例


本文简要介绍 python 语言中 pyflink.table.TableEnvironment.from_elements 的用法。

用法:

from_elements(elements: Iterable, schema: Union[pyflink.table.types.DataType, List[str]] = None, verify_schema: bool = True) → pyflink.table.table.Table

从元素集合创建表。元素类型必须是可接受的原子类型或可接受的复合类型。所有元素必须属于同一类型。如果元素类型是复合类型,则复合类型必须严格相等,并且其子类型也必须是可接受的类型。例如如果元素是元组,则元组的长度必须相等,元组的元素类型必须按顺序相等。

内置可接受的原子元素类型包含:

int,,str,统一码,bool,浮点数,字节数组,datetime.date,datetime.time,datetime.datetime,datetime.timedelta,decimal.Decimal

内置可接受的复合元素类型包含:

列表,元组,dict,数组,Row

如果元素类型是复合类型,它将被取消装箱。例如table_env.from_elements([(1, ‘Hi’), (2, ‘Hello’)]) 将返回如下表:

_1

_2

1

Hi

2

Hello

“_1” 和“_2” 是生成的字段名称。

例子:

# use the second parameter to specify custom field names
>>> table_env.from_elements([(1, 'Hi'), (2, 'Hello')], ['a', 'b'])
# use the second parameter to specify custom table schema
>>> table_env.from_elements([(1, 'Hi'), (2, 'Hello')],
...                         DataTypes.ROW([DataTypes.FIELD("a", DataTypes.INT()),
...                                        DataTypes.FIELD("b", DataTypes.STRING())]))
# use the third parameter to switch whether to verify the elements against the schema
>>> table_env.from_elements([(1, 'Hi'), (2, 'Hello')],
...                         DataTypes.ROW([DataTypes.FIELD("a", DataTypes.INT()),
...                                        DataTypes.FIELD("b", DataTypes.STRING())]),
...                         False)
# create Table from expressions
>>> table_env.from_elements([row(1, 'abc', 2.0), row(2, 'def', 3.0)],
...                         DataTypes.ROW([DataTypes.FIELD("a", DataTypes.INT()),
...                                        DataTypes.FIELD("b", DataTypes.STRING()),
...                                        DataTypes.FIELD("c", DataTypes.FLOAT())]))

参数:

  • elements- 创建表格的元素。

  • schema- 表的架构。

  • verify_schema- 是否根据架构验证元素。

返回:

结果表。

相关用法


注:本文由纯净天空筛选整理自apache.org大神的英文原创作品 pyflink.table.TableEnvironment.from_elements。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。