托管式 I/O 支持 Apache Iceberg 的以下功能:
目录 |
|
---|---|
读取功能 | 批处理读取 |
写入功能 |
|
对于 Apache Iceberg 的 BigQuery 表,请将 BigQueryIO
连接器与 BigQuery Storage API 搭配使用。该表必须已经存在;不支持动态表格创建。
要求
以下 SDK 支持 Apache Iceberg 的托管式 I/O:
- Java 版 Apache Beam SDK 2.58.0 或更高版本
- Python 版 Apache Beam SDK 2.61.0 版或更高版本
配置
适用于 Apache Iceberg 的托管式 I/O 支持以下配置参数:
ICEBERG
读取
配置 | 类型 | 说明 |
---|---|---|
表格 |
str
|
Iceberg 表的标识符。 |
catalog_name |
str
|
包含表的目录的名称。 |
catalog_properties |
map[str, str]
|
用于设置 Iceberg 目录的属性。 |
config_properties |
map[str, str]
|
传递给 Hadoop 配置的属性。 |
drop |
list[str]
|
要从读取操作中排除的列名称子集。如果为 null 或空,则读取所有列。 |
filter |
str
|
在扫描时用于过滤数据的类 SQL 谓词。示例:“id > 5 AND status = 'ACTIVE'”。使用 Apache Calcite 语法:https://calcite.apache.org/docs/reference.html |
keep |
list[str]
|
要专门读取的列名称子集。如果为 null 或空,则读取所有列。 |
ICEBERG
写入
配置 | 类型 | 说明 |
---|---|---|
表格 |
str
|
完全限定的表标识符。您还可以提供模板以向多个动态目标写入,例如:“dataset.my_{col1}_{col2.nested}_table”。 |
catalog_name |
str
|
包含表的目录的名称。 |
catalog_properties |
map[str, str]
|
用于设置 Iceberg 目录的属性。 |
config_properties |
map[str, str]
|
传递给 Hadoop 配置的属性。 |
drop |
list[str]
|
在写入之前要从输入记录中舍弃的字段名称列表。与“keep”和“only”互斥。 |
keep |
list[str]
|
输入记录中要保留的字段名称列表。系统会在写入之前舍弃所有其他字段。与“drop”和“only”互斥。 |
only |
str
|
应写入的单个记录字段的名称。与“keep”和“drop”互斥。 |
partition_fields |
list[str]
|
用于创建在创建表时应用的分区规范的字段。对于字段“foo”,可用的分区转换如下:
如需详细了解分区转换,请访问 https://iceberg.apache.org/spec/#partition-transforms。 |
table_properties |
map[str, str]
|
在创建表时要设置的 Iceberg 表属性。如需详细了解表属性,请访问 https://iceberg.apache.org/docs/latest/configuration/#table-properties。 |
triggering_frequency_seconds |
int32
|
对于流处理流水线,设置生成快照的频率。 |
后续步骤
如需了解详情和查看代码示例,请参阅以下主题: