O conector de E/S gerenciado é uma transformação do Apache Beam que fornece uma API comum para criar origens e coletores.
Visão geral
O conector de E/S gerenciado é criado usando o código do Apache Beam, assim como qualquer outro conector de E/S. Especifique uma origem ou um coletor para instanciar e transmitir um conjunto de parâmetros de configuração. Também é possível colocar os parâmetros de configuração em um arquivo YAML e fornecer um URL para o arquivo.
No back-end, o Dataflow trata o conector de E/S gerenciado como um serviço, o que permite que o Dataflow gerencie operações de ambiente de execução para o conector. Assim, é possível se concentrar na lógica de negócios do pipeline, em vez de gerenciar esses detalhes.
Para mais informações sobre a API E/S gerenciada, consulte Managed
na
documentação do SDK do Apache Beam para Java.
Apache Iceberg
No Apache Iceberg, a E/S gerenciada usa os seguintes parâmetros de configuração:Nome | Tipo de dados | Descrição |
---|---|---|
table |
string | O identificador da tabela do Apache Iceberg. Exemplo:
"db.table1" . |
catalog_name |
string | O nome do catálogo. Exemplo: "local" . |
catalog_properties |
mapa | Mapa das propriedades de configuração do Apache Iceberg
no seu catálogo. As propriedades obrigatórias dependem do catálogo. Para mais
informações, consulte
CatalogUtil na documentação do Apache Iceberg. |
config_properties |
mapa | Um conjunto opcional de propriedades de configuração do Hadoop. Para mais
informações, consulte
CatalogUtil na documentação do Apache Iceberg. |
triggering_frequency_seconds |
número inteiro | Para pipelines de gravação de streaming, a frequência com que o sink tenta produzir snapshots, em segundos. |
Para mais informações, incluindo exemplos de código, consulte os seguintes tópicos:
Apache Kafka
Para o Apache Kafka, o Managed I/O usa os seguintes parâmetros de configuração.
Ler e gravar configuração | Tipo de dado | Descrição |
---|---|---|
bootstrap_servers |
string | Obrigatório. Uma lista separada por vírgulas de servidores de inicialização
Kafka.
Exemplo: localhost:9092 . |
topic |
string | Obrigatório. O tópico do Kafka a ser lido. |
file_descriptor_path |
string | O caminho para um conjunto de descritores de arquivos de buffer de protocolo. Aplicável apenas se
data_format for "PROTO" . |
data_format |
string | O formato das mensagens. Valores aceitos: "AVRO" ,
"JSON" , "PROTO" , "RAW" . O
valor padrão é "RAW" , que lê ou grava os bytes brutos
do payload da mensagem. |
message_name |
string | O nome da mensagem do buffer de protocolo. Obrigatório se data_format for "PROTO" . |
schema |
string | O esquema de mensagem do Kafka. O tipo de esquema esperado depende do formato de dados:
Para pipelines de leitura, esse parâmetro é ignorado se
|
Ler configuração | ||
auto_offset_reset_config |
string | Especifica o comportamento quando não há um deslocamento inicial ou o deslocamento atual não existe mais no servidor Kafka. Os valores a seguir são compatíveis:
O valor padrão é |
confluent_schema_registry_subject |
string | O assunto de um registro de esquema do Confluent. Obrigatório se confluent_schema_registry_url for especificado |
confluent_schema_registry_url |
string | O URL de um registro de esquema do Confluent. Se especificado, o
parâmetro schema será ignorado. |
consumer_config_updates |
mapa | Define parâmetros de configuração para o consumidor do Kafka. Para mais informações, consulte Configurações do consumidor na documentação do Kafka. É possível usar esse parâmetro para personalizar o consumidor do Kafka. |
max_read_time_seconds |
int | O tempo máximo de leitura, em segundos. Essa opção produz um PCollection
limitado e é destinada principalmente a testes ou outros
cenários que não são de produção. |
Gravar configuração | ||
producer_config_updates |
mapa | Define parâmetros de configuração para o produtor do Kafka. Para mais informações, consulte Configurações do produtor na documentação do Kafka. É possível usar esse parâmetro para personalizar o produtor do Kafka. |
Para ler mensagens Avro ou JSON, você precisa especificar um esquema de mensagem. Para definir um
esquema diretamente, use o parâmetro schema
. Para fornecer o esquema por um
registro de esquema do Confluent, defina os parâmetros confluent_schema_registry_url
e
confluent_schema_registry_subject
.
Para ler ou gravar mensagens do buffer de protocolo, especifique um esquema de mensagem ou
defina o parâmetro file_descriptor_path
.