Delta Lake-Tabellen von Linux Foundation in Athena für Spark verwenden - Amazon Athena

Delta Lake-Tabellen von Linux Foundation in Athena für Spark verwenden

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: Bearbeiten Sie Sitzungsdetails oder Schritt 7: Erstellen Sie ein eigenes Notebook.

"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()