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 |
|---|---|---|
| Tabelle |
str
|
Kennung der Iceberg-Tabelle. |
| catalog_name |
str
|
Name des Katalogs, der die Tabelle enthält. |
| catalog_properties |
map[str, str]
|
Attribute, die zum Einrichten des Iceberg-Katalogs verwendet werden. |
| 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 null oder leer, 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 null oder leer, werden alle Spalten gelesen. |
ICEBERG Schreiben
| Konfiguration | Typ | Beschreibung |
|---|---|---|
| Tabelle |
str
|
Eine voll qualifizierte Tabellen-ID. Sie können auch eine Vorlage zum Schreiben in mehrere dynamische Ziele angeben, z. B. `dataset.my_{col1}_{col2.nested}_table`. |
| catalog_name |
str
|
Name des Katalogs, der die Tabelle enthält. |
| catalog_properties |
map[str, str]
|
Attribute, die zum Einrichten des Iceberg-Katalogs verwendet werden. |
| config_properties |
map[str, str]
|
Attribute, die an die Hadoop-Konfiguration übergeben werden. |
| direct_write_byte_limit |
int32
|
Legt für eine Streamingpipeline das Limit für das Verschieben von Bundles in den direkten Schreibpfad fest. |
| drop |
list[str]
|
Eine Liste von Feldnamen, die vor dem Schreiben aus dem Eingabedatensatz gelöscht werden sollen. Kann nicht zusammen mit „keep“ und „only“ verwendet werden. |
| Notizen |
list[str]
|
Eine Liste der Feldnamen, die im Eingabedatensatz beibehalten werden sollen. Alle anderen Felder werden vor dem Schreiben gelöscht. Kann nicht zusammen mit „drop“ und „only“ verwendet werden. |
| nur |
str
|
Der Name eines einzelnen Datensatzfelds, in das geschrieben werden soll. Kann nicht zusammen mit „keep“ und „drop“ verwendet werden. |
| partition_fields |
list[str]
|
Felder, mit der eine Partitionsspezifikation erstellt wird, die beim Erstellen von Tabellen angewendet wird. Für ein Feld „foo“ sind folgende Partitionstransformationen verfügbar:
Weitere Informationen zu Partitionstransformationen finden Sie unter https://iceberg.apache.org/spec/#partition-transforms. |
| table_properties |
map[str, str]
|
Iceberg-Tabellenattribute, 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:
- Aus Apache Iceberg lesen
- Aus Apache Iceberg lesen (Job Builder-Benutzeroberfläche)
- In Apache Iceberg schreiben