在 Athena for Spark 中使用 Linux Foundation Delta Lake 表
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" -
创建 Apache Spark 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()