Verwenden Sie den verwalteten E/A-Connector, um von Dataflow in Apache Iceberg zu schreiben.
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 Erstellen dynamischer 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 die 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. Welche Properties erforderlich sind, hängt vom Katalog ab. Weitere Informationen finden Sie in der Apache Iceberg-Dokumentation unter
CatalogUtil . |
config_properties |
Karte | Optionale 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 basierend auf den Feldwerten in den eingehenden Datensätzen dynamisch eine Zieltabelle auswählen.
Wenn Sie dynamische Ziele verwenden möchten, müssen Sie eine Vorlage für den Konfigurationsparameter table
angeben. Weitere Informationen finden Sie unter Dynamische Ziele.
Beispiel
Im folgenden Beispiel werden JSON-Daten im Arbeitsspeicher 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.