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.
Requisitos
Os seguintes SDKs são compatíveis com E/S gerenciada para o Apache Iceberg:
- SDK do Apache Beam para Java versão 2.58.0 ou mais recente
- SDK do Apache Beam para Python versão 2.61.0 ou mais recente
Configuração
A E/S gerenciada para Apache Iceberg é compatível com os seguintes parâmetros de configuração:
ICEBERG
Ler
Configuração | Tipo | Descrição |
---|---|---|
table |
str
|
Identificador da tabela do 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. |
drop |
list[str]
|
Um subconjunto de nomes de colunas a serem excluídos da leitura. Se for nulo ou vazio, todas as colunas serão lidas. |
filtrar |
str
|
Predicado semelhante a SQL para filtrar dados no momento da verificação. 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 para leitura exclusiva. Se for nulo ou vazio, todas as colunas serão lidas. |
ICEBERG
Gravar
Configuração | Tipo | Descrição |
---|---|---|
table |
str
|
Um identificador de tabela totalmente qualificado. Você também pode fornecer um modelo para gravar 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. |
drop |
list[str]
|
Uma lista de nomes de campos a serem descartados do registro de entrada antes da gravação. É mutuamente exclusivo com "keep" e "only". |
keep |
list[str]
|
Uma lista de nomes de campos a serem mantidos no registro de entrada. Todos os outros campos são descartados antes da gravação. É mutuamente exclusivo com "drop" e "only". |
apenas |
str
|
O nome de um único campo de registro que precisa ser gravado. É mutuamente exclusivo com "keep" e "drop". |
partition_fields |
list[str]
|
Campos usados para criar uma especificação de partição 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 transformações de partição, acesse https://iceberg.apache.org/spec/#partition-transforms. |
table_properties |
map[str, str]
|
Propriedades da tabela Iceberg a serem definidas na tabela quando ela for criada. Para mais informações sobre propriedades de tabela, acesse 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 snapshots são produzidos. |
A seguir
Para mais informações e exemplos de código, consulte os seguintes tópicos: