Talvez seja necessário ingerir e transformar dados para análises downstream em escala armazenados em formatos de tabela aberta do Apache Iceberg. A ingestão de dados do Apache Iceberg no Dataflow usando o conector de E/S gerenciado permite executar pipelines de lote distribuídos e paralelos para ler e processar conjuntos de dados de alto volume no Hadoop, no Hive, em catálogos REST e no metastore do BigQuery.
Se você trabalha com tabelas do BigQuery para
Apache Iceberg, use o conector
BigQueryIO
com a API BigQuery Storage. A tabela de destino já precisa existir, porque
não é possível criar tabelas dinâmicas.
Recursos
A E/S gerenciada oferece suporte aos seguintes recursos para o Apache Iceberg:
| Catálogos |
|
|---|---|
| Ler capabilities | Leitura em lote |
| Gravar capabilities |
|
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>
Exemplo
O exemplo a seguir lê uma tabela do Apache Iceberg e grava os dados no arquivos de texto.
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.