Para gravar do Dataflow no Apache Iceberg, use a função conector de E/S gerenciado.
A E/S gerenciada oferece suporte aos seguintes recursos do Apache Iceberg:
Catálogos |
|
---|---|
Capacidades de leitura | Leitura em lote |
Recursos de gravação |
|
Para tabelas do BigQuery para o Apache Iceberg,
use o
conector BigQueryIO
com a API BigQuery Storage. A tabela já precisa existir. A criação de tabelas dinâmicas não é
compatível.
Dependências
Adicione estas dependências ao projeto:
Java
<dependency>
<groupId>org.apache.beam</groupId>
<artifactId>beam-sdks-java-managed</artifactId>
<version>${beam.version}</version>
</dependency>
<dependency>
<groupId>org.apache.beam</groupId>
<artifactId>beam-sdks-java-io-iceberg</artifactId>
<version>${beam.version}</version>
</dependency>
Configuração
A E/S gerenciada usa os seguintes parâmetros de configuração para o Apache Iceberg:
Ler e gravar configuração | Tipo de dado | 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. |
Gravar configuração | Tipo de dado | Descrição |
triggering_frequency_seconds |
integer | Para pipelines de gravação de streaming, a frequência com que o sink tenta produzir snapshots, em segundos. |
Destinos dinâmicos
A E/S gerenciada para o Apache Iceberg oferece suporte a destinos dinâmicos. Em vez de gravar em uma única tabela fixa, o conector pode selecionar dinamicamente uma tabela de destino com base nos valores de campo nos registros recebidos.
Para usar destinos dinâmicos, forneça um modelo para o parâmetro de configuração table
. Para mais informações, consulte Destinos dinâmicos.
Exemplo
O exemplo a seguir grava dados JSON na memória em uma tabela do Apache Iceberg.
Java
Para autenticar no Dataflow, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
A seguir
- Ler do Apache Iceberg.
- Saiba mais sobre a E/S gerenciada.