本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 Athena 使用 Linux 基礎三角洲湖表的星火
Linux Foundation Delta Lake
若要使用 Athena for Spark 中的 Delta Lake 資料表,請設定以下 Spark 屬性。當您選擇 Delta Lake 做為資料表格式時,依預設,通常會在 Athena for Spark 主控台中為您設定這些屬性。如需相關步驟,請參閱 步驟 4:編輯會話詳細信息 或 步驟 7:建立自己的筆記本。
"spark.sql.catalog.spark_catalog" : "org.apache.spark.sql.delta.catalog.DeltaCatalog", "spark.sql.extensions" : "io.delta.sql.DeltaSparkSessionExtension"
下列程序將告訴您如何在 Athena for Spark 筆記本中使用 Delta Lake 資料表。在記事本的新儲存格中執行每個步驟。
若要使用 Athena for Spark 中的 Delta Lake 資料表
-
定義要在筆記本中使用的常數。
DB_NAME = "
NEW_DB_NAME
" TABLE_NAME = "NEW_TABLE_NAME
" TABLE_S3_LOCATION = "s3://amzn-s3-demo-bucket" -
創建一個阿帕奇星火DataFrame
。 columns = ["language","users_count"] data = [("Golang", 3000)] df = spark.createDataFrame(data, columns)
-
建立資料庫。
spark.sql("CREATE DATABASE {} LOCATION '{}'".format(
DB_NAME
,TABLE_S3_LOCATION
)) -
建立一個空的 Delta Lake 資料表。
spark.sql(""" CREATE TABLE {}.{} ( language string, users_count int ) USING DELTA """.format(
DB_NAME
,TABLE_NAME
)) -
在資料表中插入一列資料。
spark.sql("""INSERT INTO {}.{} VALUES ('Golang', 3000)""".format(
DB_NAME
,TABLE_NAME
)) -
確認您可以查詢新資料表。
spark.sql("SELECT * FROM {}.{}".format(
DB_NAME, TABLE_NAME
)).show()