當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。