Verwaltete E/A unterstützt die folgenden Funktionen für Apache Iceberg:
Kataloge |
|
---|---|
Lesefunktionen | Batchlesevorgang |
Schreibfunktionen |
|
Verwenden Sie für BigQuery-Tabellen für Apache Iceberg den BigQueryIO
-Connector mit der BigQuery Storage API. Die Tabelle muss bereits vorhanden sein. Das dynamische Erstellen von Tabellen wird nicht unterstützt.
Voraussetzungen
Die folgenden SDKs unterstützen verwaltete E/A für Apache Iceberg:
- Apache Beam SDK für Java Version 2.58.0 oder höher
- Apache Beam SDK für Python Version 2.61.0 oder höher
Konfiguration
Verwaltete E/A für Apache Iceberg unterstützt die folgenden Konfigurationsparameter:
ICEBERG
Lesen
Konfiguration | Typ | Beschreibung |
---|---|---|
table |
str
|
Kennung der Iceberg-Tabelle. |
catalog_name |
str
|
Der Name des Katalogs, der die Tabelle enthält. |
catalog_properties |
map[str, str]
|
Eigenschaften zum Einrichten des Iceberg-Katalogs. |
config_properties |
map[str, str]
|
Attribute, die an die Hadoop-Konfiguration übergeben werden. |
drop |
list[str]
|
Eine Teilmenge von Spaltennamen, die nicht gelesen werden sollen. Wenn der Wert „null“ oder leer ist, werden alle Spalten gelesen. |
filtern |
str
|
SQL-ähnliches Prädikat zum Filtern von Daten zur Scanzeit. Beispiel: „id > 5 AND status = 'ACTIVE'“. Verwendet die Apache Calcite-Syntax: https://calcite.apache.org/docs/reference.html |
Notizen |
list[str]
|
Eine Teilmenge der Spaltennamen, die ausschließlich gelesen werden sollen. Wenn der Wert „null“ oder leer ist, werden alle Spalten gelesen. |
ICEBERG
Schreiben
Konfiguration | Typ | Beschreibung |
---|---|---|
table |
str
|
Eine vollständig qualifizierte Tabellenkennung. Sie können auch eine Vorlage angeben, um in mehrere dynamische Ziele zu schreiben, z. B. `dataset.my_{col1}_{col2.nested}_table`. |
catalog_name |
str
|
Der Name des Katalogs, der die Tabelle enthält. |
catalog_properties |
map[str, str]
|
Eigenschaften zum Einrichten des Iceberg-Katalogs. |
config_properties |
map[str, str]
|
Attribute, die an die Hadoop-Konfiguration übergeben werden. |
drop |
list[str]
|
Eine Liste der Feldnamen, die vor dem Schreiben aus dem Eingabe-Datensatz entfernt werden sollen. Schließt sich mit „keep“ und „only“ gegenseitig aus. |
Notizen |
list[str]
|
Eine Liste der Feldnamen, die im Eingabe-Datensatz beibehalten werden sollen. Alle anderen Felder werden vor dem Schreiben gelöscht. Schließt sich gegenseitig mit „drop“ und „only“ aus. |
nur |
str
|
Der Name eines einzelnen Datensatzfelds, das geschrieben werden soll. Schließt sich gegenseitig mit „keep“ und „drop“ aus. |
partition_fields |
list[str]
|
Felder, die zum Erstellen einer Partitionsspezifikation verwendet werden, die beim Erstellen von Tabellen angewendet wird. Für das Feld „foo“ sind die folgenden Partitionstransformationen verfügbar:
Weitere Informationen zu Partitionstransformationen finden Sie unter https://iceberg.apache.org/spec/#partition-transforms. |
table_properties |
map[str, str]
|
Iceberg-Tabelleneigenschaften, die beim Erstellen der Tabelle festgelegt werden sollen. Weitere Informationen zu Tabelleneigenschaften finden Sie unter https://iceberg.apache.org/docs/latest/configuration/#table-properties. |
triggering_frequency_seconds |
int32
|
Legt für eine Streamingpipeline die Häufigkeit fest, mit der Snapshots erstellt werden. |
Nächste Schritte
Weitere Informationen und Codebeispiele finden Sie unter den folgenden Themen: