Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Zugreifen auf Amazon S3 S3-Tabellen mit dem Amazon S3 S3-Tabellenkatalog für Apache Iceberg

Fokusmodus
Zugreifen auf Amazon S3 S3-Tabellen mit dem Amazon S3 S3-Tabellenkatalog für Apache Iceberg - Amazon Simple Storage Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Sie können über Open-Source-Abfrage-Engines wie Apache Spark mithilfe des Amazon S3 S3-Tabellenkatalogs für Apache Iceberg Kundenkatalog. Amazon S3 S3-Tabellenkatalog für Apache Iceberg ist eine Open-Source-Bibliothek, die von AWS Labs gehostet wird. Es funktioniert durch Übersetzen Apache Iceberg Operationen in Ihren Abfrage-Engines (wie Tabellenerkennung, Metadaten-Updates und Hinzufügen oder Entfernen von Tabellen) in S3-Tabellen-API-Operationen.

Amazon S3 S3-Tabellenkatalog für Apache Iceberg wird vertrieben als Maven JAR genannts3-tables-catalog-for-iceberg.jar. Sie können den Kundenkatalog erstellen JAR aus dem AWS Labs GitHub Repository oder lade es von Maven herunter. Beim Herstellen einer Verbindung zu Tabellen der Client-Katalog JAR wird als Abhängigkeit verwendet, wenn Sie eine initialisieren Spark Sitzung für Apache Iceberg.

Verwenden des Amazon S3-Tabellenkatalogs für Apache Iceberg mit Apache Spark

Sie können den Amazon S3 S3-Tabellenkatalog verwenden für Apache Iceberg Client-Katalog, um eine Verbindung zu Tabellen aus Open-Source-Anwendungen herzustellen, wenn Sie einen initialisieren Spark Sitzung. In Ihrer Sitzungskonfiguration geben Sie an Iceberg und Amazon S3 S3-Abhängigkeiten und erstellen Sie einen benutzerdefinierten Katalog, der Ihren Tabellen-Bucket als Metadaten-Warehouse verwendet.

Um ein zu initialisieren Spark Sitzung mit dem Amazon S3-Tabellenkatalog für Apache Iceberg
  • Initialisieren Spark mit dem folgenden Befehl. Um den Befehl zu verwenden, ersetzen Sie den Amazon S3 S3-Tabellenkatalog für Apache Iceberg version numbermit der neuesten Version von AWS Labs GitHub Repository und das table bucket ARN mit Ihrem eigenen Tabellen-Bucket ARN.

    spark-shell \ --packages org.apache.iceberg:iceberg-spark-runtime-3.5_2.12:1.6.1,software.amazon.s3tables:s3-tables-catalog-for-iceberg-runtime:0.1.4 \ --conf spark.sql.catalog.s3tablesbucket=org.apache.iceberg.spark.SparkCatalog \ --conf spark.sql.catalog.s3tablesbucket.catalog-impl=software.amazon.s3tables.iceberg.S3TablesCatalog \ --conf spark.sql.catalog.s3tablesbucket.warehouse=arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-table-bucket \ --conf spark.sql.extensions=org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions

Abfragen von S3-Tabellen mit Spark SQL

Die Verwendung von Spark, können Sie DQL-, DML- und DDL-Operationen auf S3-Tabellen ausführen. Wenn Sie Tabellen abfragen, verwenden Sie den vollqualifizierten Tabellennamen, einschließlich des Sitzungskatalognamens, nach diesem Muster:

CatalogName.NamespaceName.TableName

Die folgenden Beispielabfragen zeigen einige Möglichkeiten, wie Sie mit S3 Tables interagieren können. Um diese Beispielabfragen in Ihrer Abfrage-Engine zu verwenden, ersetzen Sie die user input placeholder Werte durch Ihre eigenen.

Um Tabellen abzufragen mit Spark
  • Namespaces erstellen

    spark.sql(" CREATE NAMESPACE IF NOT EXISTS s3tablesbucket.my_namespace")
  • Erstellen einer Tabelle

    spark.sql(" CREATE TABLE IF NOT EXISTS s3tablesbucket.my_namespace.`my_table` ( id INT, name STRING, value INT ) USING iceberg ")
  • Tabellen abfragen

    spark.sql(" SELECT * FROM s3tablesbucket.my_namespace.`my_table` ").show()
  • Fügen Sie Daten in eine Tabelle ein

    spark.sql( """ INSERT INTO s3tablesbucket.my_namespace.my_table VALUES (1, 'ABC', 100), (2, 'XYZ', 200) """)
  • Lädt eine vorhandene Datendatei in eine Tabelle

    1. Lesen Sie die Daten in Spark ein.

      val data_file_location = "Path such as S3 URI to data file" val data_file = spark.read.parquet(data_file_location)
    2. Schreiben Sie die Daten in eine Iceberg-Tabelle.

      data_file.writeTo("s3tablesbucket.my_namespace.my_table").using("Iceberg").tableProperty ("format-version", "2").createOrReplace()
DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.