Para ler eventos de captura de dados alterados (CDC) do Apache Iceberg usando o Lakehouse para Apache Iceberg para o catálogo REST do Apache Iceberg, use o conector de E/S gerenciado do Apache Beam.
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 o Apache Iceberg,
use o
BigQueryIO conector
com a API BigQuery Storage. A tabela já precisa existir. A criação de tabelas dinâmicas não é compatível.
Limitações
- O CDC do Apache Iceberg só é compatível com a API gerenciada. Os recursos do serviço de transformações gerenciadas ainda não estão ativados. Espere mudanças que afetam a compatibilidade com versões anteriores.
- A API gerenciada do CDC só lê snapshots de acréscimo. O CDC completo ainda não está disponível.
Pré-requisitos
- Configure o Lakehouse para o Apache Iceberg. Configure seu Google Cloud projeto com as permissões necessárias seguindo as instruções em Usar o catálogo de ambiente de execução do Lakehouse com o catálogo REST do Iceberg. Confira se você entende as limitações do Lakehouse para Apache Iceberg para o catálogo REST descritas nessa página.
- Crie uma tabela de origem do Iceberg. O exemplo mostrado aqui pressupõe que você tenha uma tabela do Apache Iceberg. Para criar uma, use o pipeline mostrado em Gravação de streaming no Apache Iceberg com o Lakehouse para o catálogo REST do Apache Iceberg.
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>
<dependency>
<groupId>org.apache.iceberg</groupId>
<artifactId>iceberg-gcp</artifactId>
<version>${iceberg.version}</version>
</dependency>
Exemplo
O exemplo a seguir demonstra um pipeline de streaming que lê eventos de CDC de uma tabela do Apache Iceberg, agrega cliques do usuário e grava os resultados em outra 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
- Saiba mais sobre a E/S gerenciada.
- Saiba mais sobre o Lakehouse para o catálogo REST do Apache Iceberg.