Verwenden Sie Delta Lake-Tabellen der Linux Foundation 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 Delta Lake-Tabellen der Linux Foundation in Athena für Spark

Linux Foundation Delta Lake ist ein Tabellenformat für Big-Data-Analytik. Sie können Athena für Spark verwenden, um in Amazon S3 gespeicherte Delta-Lake-Tabellen direkt zu lesen.

Um Apache-Delta-Lake-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 Delta Lake 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.spark.sql.delta.catalog.DeltaCatalog", "spark.sql.extensions" : "io.delta.sql.DeltaSparkSessionExtension"

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

Wie Sie eine Delta-Lake-Tabelle in Athena für 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 Delta-Lake-Tabelle.

    spark.sql(""" CREATE TABLE {}.{} ( language string, users_count int ) USING DELTA """.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()