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 |
|
---|---|
Recursos de leitura | Leitura em lote |
Recursos de gravação |
|
Para tabelas do BigQuery para Apache Iceberg,
use o
conector BigQueryIO
com a API BigQuery Storage. A tabela já precisa existir. Não é possível criar tabelas dinâmicas.
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>
Destinos dinâmicos
A E/S gerenciada para 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.
Exemplos
Os exemplos a seguir mostram como usar a E/S gerenciada para gravar no Apache Iceberg.
Gravar em uma tabela do Apache Iceberg
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.
Gravar com destinos dinâmicos
O exemplo a seguir grava em diferentes tabelas do Apache Iceberg com base em um campo nos dados de entrada.
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 no Apache Iceberg.
- Gravação de streaming no Apache Iceberg com o catálogo REST do BigLake.
- Saiba mais sobre o Managed I/O.