搭配使用 Apache Iceberg 與 Amazon EMR on EKS - Amazon EMR

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

搭配使用 Apache Iceberg 與 Amazon EMR on EKS

Iceberg 的執行期 JAR 包含 Spark 執行期支援所需的 Iceberg 類別。下列程序說明如何使用 Iceberg 火花執行時間開始任務執行。

搭配使用 Apache Iceberg 與 Amazon EMR on 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" } ] }'

若要了解有關 EMR 的 Apache Iceberg 版本的詳細資訊,請參閱 Iceberg 版本歷史記錄

目錄整合的 Spark 工作階段組態

Iceberg AWS Glue 目錄整合的 Spark 工作階段組態

此範例說明如何將 Iceberg 與 整合 AWS 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 = AWS account ID \ --conf spark.sql.extensions= org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions

下面會顯示範例查詢:

SELECT * FROM rms.rmsdb.table1

Iceberg REST Glue AWS 目錄整合的 Spark 工作階段組態

此範例說明如何將 Iceberg REST 與 整合 AWS 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 Managed Storage。不支援 Amazon S3 的 FGAC。