托管式 I/O 连接器是一种 Apache Beam 转换,可提供用于创建来源和接收器的通用 API。
概览
您可以使用 Apache Beam 代码创建托管式 I/O 连接器,就像创建任何其他 I/O 连接器一样。您可以指定要实例化的来源或接收器并传入一组配置参数。 您还可以将配置参数放入 YAML 文件中,并提供该文件的网址。
在后端,Dataflow 将托管式 I/O 连接器视为服务,让 Dataflow 能够管理连接器的运行时操作。然后,您可以专注于流水线中的业务逻辑,而无需管理这些细节。
如需详细了解托管式 I/O API,请参阅 Apache Beam Java SDK 文档中的 Managed
。
Apache Iceberg
对于 Apache Iceberg,托管式 I/O 使用以下配置参数:名称 | 数据类型 | 说明 |
---|---|---|
table |
字符串 | Apache Iceberg 表的标识符。示例:
"db.table1" 。 |
catalog_name |
字符串 | 目录的名称。示例:"local" 。 |
catalog_properties |
地图 | Apache Iceberg 目录的配置属性映射。所需的属性取决于清单。如需了解详情,请参阅 Apache Iceberg 文档中的 CatalogUtil 。 |
config_properties |
地图 | 一组可选的 Hadoop 配置属性。如需了解详情,请参阅 Apache Iceberg 文档中的 CatalogUtil 。 |
triggering_frequency_seconds |
整数 | 对于流式写入流水线,表示缓冲区尝试生成快照的频率,以秒为单位。 |
如需了解详情(包括代码示例),请参阅以下主题:
Apache Kafka
对于 Apache Kafka,受管 I/O 使用以下配置参数。
读取和写入配置 | 数据类型 | 说明 |
---|---|---|
bootstrap_servers |
字符串 | 必填。Kafka 引导服务器的英文逗号分隔列表。示例:localhost:9092 。 |
topic |
字符串 | 必填。要从中读取数据的 Kafka 主题。 |
file_descriptor_path |
字符串 | 协议缓冲区文件描述符集的路径。仅在 data_format 为 "PROTO" 时适用。 |
data_format |
字符串 | 消息的格式。支持的值:"AVRO" 、"JSON" 、"PROTO" 、"RAW" 。默认值为 "RAW" ,用于读取或写入消息载荷的原始字节。 |
message_name |
字符串 | 协议缓冲区消息的名称。如果 data_format 为 "PROTO" ,则必须提供此值。 |
schema |
字符串 | Kafka 消息架构。预期的架构类型取决于数据格式:
对于读取流水线,如果设置了 |
读取配置 | ||
auto_offset_reset_config |
字符串 | 指定在 Kafka 服务器上没有初始偏移量或当前偏移量不存在时执行的行为。支持以下值:
默认值为 |
confluent_schema_registry_subject |
字符串 | Confluent 架构注册表的主题。如果指定了 confluent_schema_registry_url ,则必须使用此属性 |
confluent_schema_registry_url |
字符串 | Confluent 架构注册表的网址。如果指定,则系统会忽略 schema 参数。 |
consumer_config_updates |
地图 | 为 Kafka 使用方设置配置参数。如需了解详情,请参阅 Kafka 文档中的使用方配置。您可以使用此参数自定义 Kafka 使用方。 |
max_read_time_seconds |
int | 最大读取时间,以秒为单位。此选项会生成有边界的 PCollection ,主要用于测试或其他非生产场景。 |
写入配置 | ||
producer_config_updates |
地图 | 为 Kafka 提供方设置配置参数。如需了解详情,请参阅 Kafka 文档中的提供方配置。您可以使用此参数来自定义 Kafka 提供方。 |
如需读取 Avro 或 JSON 消息,您必须指定消息架构。如需直接设置架构,请使用 schema
参数。如需通过 Confluent 架构注册表提供架构,请设置 confluent_schema_registry_url
和 confluent_schema_registry_subject
参数。
如需读取或写入 Protocol Buffer 消息,请指定消息架构或设置 file_descriptor_path
参数。