将 Delta Lake 与 Amazon EMR on EKS 结合使用
Delta Lake 是一个开源存储框架,用于构建湖屋架构。下面介绍了如何设置使用。
将 Delta Lake 与 Amazon EMR on EKS 应用程序结合使用
-
启动任务运行以在应用程序配置中提交 Spark 任务时,请包含 Delta Lake JAR 文件:
--job-driver '{"sparkSubmitJobDriver" : { "sparkSubmitParameters" : "--jars local:///usr/share/aws/delta/lib/delta-core.jar,local:///usr/share/aws/delta/lib/delta-storage.jar,local:///usr/share/aws/delta/lib/delta-storage-s3-dynamodb.jar"}}'
注意
Amazon EMR 7.0.0 及更高版本使用 Delta Lake 3.0,该版本将
delta-core.jar
更名为delta-spark.jar
。如果您使用的是 Amazon EMR 7.0.0 或更高版本,请务必使用正确的文件名,如以下示例所示:--jars local:///usr/share/aws/delta/lib/delta-spark.jar
-
请包含 Delta Lake 额外配置,并使用 AWS Glue Data Catalog 作为元存储。
--configuration-overrides '{ "applicationConfiguration": [ { "classification" : "spark-defaults", "properties" : { "spark.sql.extensions" : "io.delta.sql.DeltaSparkSessionExtension", "spark.sql.catalog.spark_catalog":"org.apache.spark.sql.delta.catalog.DeltaCatalog", "spark.hadoop.hive.metastore.client.factory.class":"com.amazonaws.glue.catalog.metastore.AWSGlueDataCatalogHiveClientFactory" } }]}'