Verwaltete Apache Iceberg-Tabellen mit Apache Spark lesen

In den folgenden Abschnitten wird beschrieben, wie Sie verwaltete Tabellen mit verwalteten Apache Iceberg-Tabellen (im Folgenden verwaltete Iceberg-Tabellen) mit Apache Spark lesen.

Hinweis

  • Informationen zu den verschiedenen Arten von BigLake-Tabellen und den Auswirkungen ihrer Verwendung finden Sie in der Übersicht zu BigLake-Tabellen.

  • Bevor Sie verwaltete Iceberg-Tabellen mit Apache Spark lesen, stellen Sie sicher, dass Sie eine Cloud-Ressourcen verbindung zu einem Storage Bucket eingerichtet haben. Ihre Verbindung benötigt Schreibberechtigungen für den Storage-Bucket, wie im folgenden Abschnitt Erforderliche Rollen angegeben. Weitere Informationen zu den erforderlichen Rollen und Berechtigungen für Verbindungen finden Sie unter Verbindungen verwalten.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, damit BigQuery Tabellen in Ihrem Projekt verwalten kann:

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Diese vordefinierten Rollen enthalten die Berechtigungen, die erforderlich sind, damit BigQuery Tabellen in Ihrem Projekt verwalten kann. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, damit BigQuery Tabellen in Ihrem Projekt verwalten kann:

  • bigquery.connections.delegate für Ihr Projekt
  • bigquery.jobs.create für Ihr Projekt
  • bigquery.readsessions.create für Ihr Projekt
  • bigquery.tables.get für Ihr Projekt
  • bigquery.tables.getData für Ihr Projekt
  • storage.buckets.get für Ihren Bucket
  • storage.objects.create für Ihren Bucket
  • storage.objects.delete für Ihren Bucket
  • storage.objects.get für Ihren Bucket
  • storage.objects.list für Ihren Bucket

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Verwaltete Iceberg-Tabellen mit Apache Spark lesen

Im folgenden Beispiel wird Ihre Umgebung für die Verwendung von Spark SQL mit Apache Iceberg eingerichtet und dann eine Abfrage ausgeführt, um Daten aus einer angegebenen verwalteten Iceberg-Tabelle abzurufen.

spark-sql \
  --packages org.apache.iceberg:iceberg-spark-runtime-ICEBERG_VERSION_NUMBER \
  --conf spark.sql.catalog.CATALOG_NAME=org.apache.iceberg.spark.SparkCatalog \
  --conf spark.sql.catalog.CATALOG_NAME.type=hadoop \
  --conf spark.sql.catalog.CATALOG_NAME.warehouse='BUCKET_PATH' \

# Query the table
SELECT * FROM CATALOG_NAME.FOLDER_NAME;

Ersetzen Sie Folgendes:

  • ICEBERG_VERSION_NUMBER: die aktuelle Version der Apache Spark Iceberg-Laufzeit. Laden Sie die neueste Version von Spark Releases herunter.
  • CATALOG_NAME: der Katalog, auf den Sie in Ihrer verwalteten Iceberg-Tabelle verweisen möchten.
  • BUCKET_PATH: der Pfad zum Bucket mit den Tabellendateien. Beispiel: gs://mybucket/.
  • FOLDER_NAME: der Ordner mit den Tabellendateien. Beispiel: myfolder.

Nächste Schritte