在亚马逊上使用 Apache Iceberg EMR EKS - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在亚马逊上使用 Apache Iceberg EMR EKS

Iceberg JAR 的运行时包含支持 Spark 运行时所必需的 Iceberg 类。以下过程展示了如何使用 Iceberg spark 运行时启动作业运行。

在应用程序上使用 Apache Iceberg 和 Amazon EMR EKS
  1. 当你开始运行作业以在应用程序配置中提交 Spark 作业时,请添加 Iceberg spark 运行时JAR文件:

    --job-driver '{"sparkSubmitJobDriver" : {"sparkSubmitParameters" : "--jars local:///usr/share/aws/iceberg/lib/iceberg-spark3-runtime.jar"}}'
  2. 包含 Iceberg 额外配置:

    --configuration-overrides '{ "applicationConfiguration": [ "classification" : "spark-defaults", "properties" : { "spark.sql.catalog.dev.warehouse" : "s3://amzn-s3-demo-bucket/EXAMPLE-PREFIX/ ", "spark.sql.extensions ":" org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions ", "spark.sql.catalog.dev" : "org.apache.iceberg.spark.SparkCatalog", "spark.sql.catalog.dev.catalog-impl" : "org.apache.iceberg.aws.glue.GlueCatalog", "spark.sql.catalog.dev.io-impl": "org.apache.iceberg.aws.s3.S3FileIO" } ] }'

要了解有关 Apache Iceberg 发布版本的更多信息EMR,请参阅 Iceberg 发布历史记录。

用于目录集成的 Spark 会话配置

Iceberg Amazon Glue 目录集成的 Spark 会话配置

此示例演示如何将 Iceberg 与以下各项集成: Amazon Glue 爬网程序

spark-sql \ --conf spark.sql.catalog.rms = org.apache.iceberg.spark.SparkCatalog \ --conf spark.sql.catalog.rms.type = glue \ --conf spark.sql.catalog.rms.glue.id = glue RMS catalog ID \ --conf spark.sql.catalog.rms.glue.account-id = Amazon account ID \ --conf spark.sql.extensions= org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions

下面显示了一个示例查询:

SELECT * FROM rms.rmsdb.table1

Iceberg REST Amazon Glue 目录集成的 Spark 会话配置

此示例演示如何将 Iceberg REST 与以下各项集成: Amazon Glue 爬网程序

spark-sql \ --conf spark.sql.catalog.rms = org.apache.iceberg.spark.SparkCatalog \ --conf spark.sql.catalog.rms.type = rest \ --conf spark.sql.catalog.rms.warehouse = glue RMS catalog ID \ --conf spark.sql.catalog.rms.uri = glue endpoint URI/iceberg \ --conf spark.sql.catalog.rms.rest.sigv4-enabled = true \ --conf spark.sql.catalog.rms.rest.signing-name = glue \ --conf spark.sql.extensions= org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions

下面显示了一个示例查询:

SELECT * FROM rms.rmsdb.table1

此配置仅适用于 Redshift 托管存储。 FGAC不支持适用于 Amazon S3。