A E/S gerida suporta as seguintes capacidades para o Apache Iceberg:
| Catálogos |
|
|---|---|
| Capacidades de leitura | Leitura em lote |
| Capacidades de escrita |
|
Para tabelas do BigQuery para o Apache Iceberg,
use o
conetor BigQueryIO
com a API BigQuery Storage. A tabela tem de existir. A criação de tabelas dinâmicas não é suportada.
Requisitos
Os seguintes SDKs suportam a E/S gerida para o Apache Iceberg:
- Versão 2.58.0 ou posterior do SDK do Apache Beam para Java
- Versão 2.61.0 ou posterior do SDK do Apache Beam para Python
Configuração
A E/S gerida para o Apache Iceberg suporta os seguintes parâmetros de configuração:
ICEBERG Ler
| Configuração | Tipo | Descrição |
|---|---|---|
| tabela |
str
|
Identificador da tabela Iceberg. |
| catalog_name |
str
|
Nome do catálogo que contém a tabela. |
| catalog_properties |
map[str, str]
|
Propriedades usadas para configurar o catálogo do Iceberg. |
| config_properties |
map[str, str]
|
Propriedades transmitidas à configuração do Hadoop. |
| diminuir |
list[str]
|
Um subconjunto de nomes de colunas a excluir da leitura. Se for nulo ou estiver vazio, todas as colunas são lidas. |
| filtrar |
str
|
Predicado semelhante a SQL para filtrar dados no momento da análise. Exemplo: "id > 5 AND status = 'ACTIVE'". Usa a sintaxe do Apache Calcite: https://calcite.apache.org/docs/reference.html |
| keep |
list[str]
|
Um subconjunto de nomes de colunas a ler exclusivamente. Se for nulo ou estiver vazio, todas as colunas são lidas. |
ICEBERG Escrever
| Configuração | Tipo | Descrição |
|---|---|---|
| tabela |
str
|
Um identificador de tabela totalmente qualificado. Também pode fornecer um modelo para escrever em vários destinos dinâmicos, por exemplo: `dataset.my_{col1}_{col2.nested}_table`. |
| catalog_name |
str
|
Nome do catálogo que contém a tabela. |
| catalog_properties |
map[str, str]
|
Propriedades usadas para configurar o catálogo do Iceberg. |
| config_properties |
map[str, str]
|
Propriedades transmitidas à configuração do Hadoop. |
| diminuir |
list[str]
|
Uma lista de nomes de campos a remover do registo de entrada antes da escrita. É mutuamente exclusivo com "keep" e "only". |
| keep |
list[str]
|
Uma lista de nomes de campos a manter no registo de entrada. Todos os outros campos são ignorados antes da escrita. É mutuamente exclusivo com "drop" e "only". |
| apenas |
str
|
O nome de um único campo de registo que deve ser escrito. É mutuamente exclusivo com "keep" e "drop". |
| partition_fields |
list[str]
|
Campos usados para criar uma especificação de partição que é aplicada quando as tabelas são criadas. Para um campo "foo", as transformações de partição disponíveis são:
Para mais informações sobre as transformações de partições, visite https://iceberg.apache.org/spec/#partition-transforms. |
| table_properties |
map[str, str]
|
Propriedades da tabela Iceberg a definir na tabela quando é criada. Para mais informações sobre as propriedades das tabelas, visite https://iceberg.apache.org/docs/latest/configuration/#table-properties. |
| triggering_frequency_seconds |
int32
|
Para um pipeline de streaming, define a frequência com que os instantâneos são produzidos. |
O que se segue?
Para mais informações e exemplos de código, consulte os seguintes tópicos: