Verwenden Sie Apache Iceberg-Tabellen in Athena für Spark - Amazon Athena

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.

Verwenden Sie Apache Iceberg-Tabellen in Athena für Spark

Apache Iceberg ist ein offenes Tabellenformat für große Datensätze in Amazon Simple Storage Service (Amazon S3). Es bietet Ihnen schnelle Abfrageleistung bei großen Tabellen, atomare Commits, gleichzeitige Schreibvorgänge und SQL eine kompatible Tabellenentwicklung.

Um Apache-Iceberg-Tabellen in Athena für Spark zu verwenden, konfigurieren Sie die folgenden Spark-Eigenschaften. Diese Eigenschaften werden standardmäßig in der Athena für Spark-Konsole für Sie konfiguriert, wenn Sie Apache-Iceberg als Tabellenformat wählen. Die Schritte finden Sie in Schritt 4: Sitzungsdetails bearbeiten oder Schritt 7: Erstellen Sie Ihr eigenes Notizbuch.

"spark.sql.catalog.spark_catalog": "org.apache.iceberg.spark.SparkSessionCatalog", "spark.sql.catalog.spark_catalog.catalog-impl": "org.apache.iceberg.aws.glue.GlueCatalog", "spark.sql.catalog.spark_catalog.io-impl": "org.apache.iceberg.aws.s3.S3FileIO", "spark.sql.extensions": "org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions"

Das folgende Verfahren zeigt Ihnen, wie Sie eine Apache-Iceberg-Tabelle in einem Notebook von Athena für Spark verwenden. Führen Sie jeden Schritt in einer neuen Zelle im Notebook aus.

Wie Sie Apache-Iceberg-Tabellen in Amazon Athena für Apache Spark verwenden
  1. Definieren Sie die Konstanten, die im Notebook verwendet werden sollen.

    DB_NAME = "NEW_DB_NAME" TABLE_NAME = "NEW_TABLE_NAME" TABLE_S3_LOCATION = "s3://amzn-s3-demo-bucket"
  2. Erstellen Sie einen Apache Spark. DataFrame

    columns = ["language","users_count"] data = [("Golang", 3000)] df = spark.createDataFrame(data, columns)
  3. Erstellen Sie eine Datenbank.

    spark.sql("CREATE DATABASE {} LOCATION '{}'".format(DB_NAME, TABLE_S3_LOCATION))
  4. Erstellen Sie eine leere Apache-Iceberg-Tabelle.

    spark.sql(""" CREATE TABLE {}.{} ( language string, users_count int ) USING ICEBERG """.format(DB_NAME, TABLE_NAME))
  5. Fügt eine Datenzeile in die Tabelle ein.

    spark.sql("""INSERT INTO {}.{} VALUES ('Golang', 3000)""".format(DB_NAME, TABLE_NAME))
  6. Vergewissern Sie sich, dass Sie die neue Tabelle abfragen können.

    spark.sql("SELECT * FROM {}.{}".format(DB_NAME, TABLE_NAME)).show()

Weitere Informationen und Beispiele zur Arbeit mit Spark- DataFrames und Iceberg-Tabellen finden Sie unter Spark-Abfragen in der Apache Iceberg-Dokumentation.