Verwenden Sie den verwalteten E/A-Connector, um Daten aus Dataflow in Apache Iceberg zu schreiben.
Die 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.
Abhängigkeiten
Fügen Sie Ihrem Projekt die folgenden Abhängigkeiten hinzu:
Java
<dependency>
<groupId>org.apache.beam</groupId>
<artifactId>beam-sdks-java-managed</artifactId>
<version>${beam.version}</version>
</dependency>
<dependency>
<groupId>org.apache.beam</groupId>
<artifactId>beam-sdks-java-io-iceberg</artifactId>
<version>${beam.version}</version>
</dependency>
Konfiguration
Für verwaltete E/A werden die folgenden Konfigurationsparameter für Apache Iceberg verwendet:
Konfiguration lesen und schreiben | Datentyp | Beschreibung |
---|---|---|
table |
String | Die Kennung der Apache Iceberg-Tabelle. Beispiel:
"db.table1" . |
catalog_name |
String | Der Name des Katalogs. Beispiel: "local" . |
catalog_properties |
Karte | Eine Zuordnung von Konfigurationseigenschaften für den Apache Iceberg-Katalog. Die erforderlichen Properties hängen vom Katalog ab. Weitere Informationen finden Sie in der Apache Iceberg-Dokumentation unter
CatalogUtil . |
config_properties |
Karte | Eine optionale Gruppe von Hadoop-Konfigurationseigenschaften. Weitere Informationen finden Sie in der Apache Iceberg-Dokumentation unter
CatalogUtil . |
Schreibkonfiguration | Datentyp | Beschreibung |
triggering_frequency_seconds |
integer | Für Streaming-Schreibpipelines die Häufigkeit, mit der die Senke versucht, Snapshots zu erstellen, in Sekunden. |
Dynamische Ziele
Verwaltete E/A für Apache Iceberg unterstützt dynamische Ziele. Anstatt in eine einzelne feste Tabelle zu schreiben, kann der Connector dynamisch eine Zieltabelle basierend auf Feldwerten in den eingehenden Datensätzen auswählen.
Wenn Sie dynamische Ziele verwenden möchten, geben Sie eine Vorlage für den Konfigurationsparameter table
an. Weitere Informationen finden Sie unter Dynamische Ziele.
Beispiele
Die folgenden Beispiele zeigen, wie Sie mit Managed I/O in Apache Iceberg schreiben.
In eine Apache Iceberg-Tabelle schreiben
Im folgenden Beispiel werden In-Memory-JSON-Daten in eine Apache Iceberg-Tabelle geschrieben.
Java
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Dataflow zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Mit dynamischen Zielen schreiben
Im folgenden Beispiel werden Daten basierend auf einem Feld in den Eingabedaten in verschiedene Apache Iceberg-Tabellen geschrieben.
Java
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Dataflow zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.