Managed I/O supporta le seguenti funzionalità per Apache Iceberg:
Cataloghi |
|
---|---|
Funzionalità di lettura | Lettura batch |
Capacità di scrittura |
|
Per le tabelle BigQuery per Apache Iceberg,
utilizza il
connettore BigQueryIO
con l'API BigQuery Storage. La tabella deve già esistere; la creazione dinamica della tabella non è supportata.
Requisiti
I seguenti SDK supportano I/O gestito per Apache Iceberg:
- Apache Beam SDK per Java versione 2.58.0 o successive
- SDK Apache Beam per Python versione 2.61.0 o successive
Configurazione
Managed I/O per Apache Iceberg supporta i seguenti parametri di configurazione:
ICEBERG
Leggi
Configurazione | Tipo | Descrizione |
---|---|---|
table |
str
|
Identificatore della tabella Iceberg. |
catalog_name |
str
|
Nome del catalogo contenente la tabella. |
catalog_properties |
map[str, str]
|
Proprietà utilizzate per configurare il catalogo Iceberg. |
config_properties |
map[str, str]
|
Proprietà passate alla configurazione Hadoop. |
drop |
list[str]
|
Un sottoinsieme di nomi di colonne da escludere dalla lettura. Se è nullo o vuoto, verranno lette tutte le colonne. |
filtro |
str
|
Predicato simile a SQL per filtrare i dati al momento della scansione. Esempio: "id > 5 AND status = 'ACTIVE'". Utilizza la sintassi di Apache Calcite: https://calcite.apache.org/docs/reference.html |
keep |
list[str]
|
Un sottoinsieme di nomi di colonna da leggere esclusivamente. Se è nullo o vuoto, verranno lette tutte le colonne. |
ICEBERG
Scrittura
Configurazione | Tipo | Descrizione |
---|---|---|
table |
str
|
Un identificatore di tabella completo. Puoi anche fornire un modello per scrivere in più destinazioni dinamiche, ad esempio: `dataset.my_{col1}_{col2.nested}_table`. |
catalog_name |
str
|
Nome del catalogo contenente la tabella. |
catalog_properties |
map[str, str]
|
Proprietà utilizzate per configurare il catalogo Iceberg. |
config_properties |
map[str, str]
|
Proprietà passate alla configurazione Hadoop. |
drop |
list[str]
|
Un elenco di nomi di campi da eliminare dal record di input prima della scrittura. Si esclude a vicenda con "mantieni" e "solo". |
keep |
list[str]
|
Un elenco di nomi di campi da conservare nel record di input. Tutti gli altri campi vengono eliminati prima della scrittura. Si esclude a vicenda con "drop" e "only". |
solo |
str
|
Il nome di un singolo campo del record da scrivere. Si esclude a vicenda con "keep" e "drop". |
partition_fields |
list[str]
|
Campi utilizzati per creare una specifica di partizione applicata durante la creazione delle tabelle. Per un campo "foo", le trasformazioni di partizione disponibili sono:
Per ulteriori informazioni sulle trasformazioni delle partizioni, visita la pagina https://iceberg.apache.org/spec/#partition-transforms. |
table_properties |
map[str, str]
|
Proprietà della tabella Iceberg da impostare sulla tabella al momento della creazione. Per ulteriori informazioni sulle proprietà delle tabelle, visita la pagina https://iceberg.apache.org/docs/latest/configuration/#table-properties. |
triggering_frequency_seconds |
int32
|
Per una pipeline di streaming, imposta la frequenza con cui vengono prodotti gli snapshot. |
Passaggi successivi
Per ulteriori informazioni ed esempi di codice, consulta i seguenti argomenti: