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


Python pyflink StatementSet.add_insert用法及代码示例


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

用法:

add_insert(target_path_or_descriptor: Union[str, pyflink.table.table_descriptor.TableDescriptor], table, overwrite: bool = False) → pyflink.table.statement_set.StatementSet

添加一条语句,将给定 Table 对象定义的管道应写入在指定路径下注册或通过给定 TableDescriptor 表示的表(由 DynamicTableSink 支持)。

  1. 当target_path_or_descriptor 是故事路径时:

    有关路径解析的规则,请参阅use_database()use_catalog() 的文档。

  2. 当target_path_or_descriptor 是表说明符时:

    给定的 TableDescriptor 注册为内联(即匿名)临时目录表(请参阅 create_temporary_table() )。

    然后将一条语句添加到将 Table 对象的管道插入该临时表的语句集中。

    此方法允许为接收器说明符声明一个模式。该声明类似于 SQL 中的 {@code CREATE TABLE} DDL,并允许:

    1. 使用自定义 DataType 覆盖自动派生列

    2. 在物理列旁边添加元数据列

    3. 声明一个主键

    可以声明没有物理/常规列的模式。在这种情况下,这些列将自动派生并隐式放置在模式声明的开头。

    例子:

    >>> stmt_set = table_env.create_statement_set()
    >>> source_table = table_env.from_path("SourceTable")
    >>> sink_descriptor = TableDescriptor.for_connector("blackhole") \
    ...     .schema(Schema.new_builder()
    ...         .build()) \
    ...     .build()
    >>> stmt_set.add_insert(sink_descriptor, source_table)

    注意

    表说明符的add_insert(案例 2.)是从 flink 1.14.0 添加的。

参数:

  • target_path_or_descriptor- 注册路径TableSink或说明应插入数据的接收器表的说明符Table是写的。

  • table(pyflink.table.Table) - 要添加的表。

  • overwrite- 指示插入是否应覆盖现有数据。

返回:

当前StatementSet 实例。

版本 1.11.0 中的新函数。

相关用法


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