将 Delta Lake 与 Amazon EMR on EKS 结合使用 - Amazon EMR

将 Delta Lake 与 Amazon EMR on EKS 结合使用

Delta Lake 是一个开源存储框架,用于构建湖屋架构。下面介绍了如何设置使用。

Delta Lake 与 Amazon EMR on EKS 应用程序结合使用
  1. 启动任务运行以在应用程序配置中提交 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
  2. 请包含 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" } }]}'