将 Apache Iceberg 与 EMR Serverless 结合使用
本节介绍了如何将 Apache Iceberg 与 EMR Serverless 应用程序结合使用。Apache Iceberg 是一种表格式,有助于处理数据湖中的大型数据集。
将 Apache Iceberg 与 EMR Serverless 应用程序结合使用
-
在相应的 Spark 作业运行中设置所需的 Spark 属性。
spark.jars=/usr/share/aws/iceberg/lib/iceberg-spark3-runtime.jar
-
将 AWS Glue Data Catalog 指定为元存储或配置外部元存储。要了解有关设置元存储的更多信息,请参阅 EMR Serverless 的元存储配置。
配置要用于 Iceberg 的元存储属性。例如,如果要使用 AWS Glue Data Catalog,请在应用程序配置中设置以下属性。
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.hadoop.hive.metastore.client.factory.class=com.amazonaws.glue.catalog.metastore.AWSGlueDataCatalogHiveClientFactory使用 AWS Glue Data Catalog 作为元存储时,可以为 Iceberg 作业指定以下配置属性。
--conf spark.jars=/usr/share/aws/iceberg/lib/iceberg-spark3-runtime.jar, --conf spark.sql.extensions=org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions, --conf spark.sql.catalog.dev=org.apache.iceberg.spark.SparkCatalog, --conf spark.sql.catalog.dev.catalog-impl=org.apache.iceberg.aws.glue.GlueCatalog, --conf spark.sql.catalog.dev.warehouse=s3://
amzn-s3-demo-bucket
/EXAMPLE-PREFIX
/ --conf spark.hadoop.hive.metastore.client.factory.class=com.amazonaws.glue.catalog.metastore.AWSGlueDataCatalogHiveClientFactory
要了解有关 Amazon EMR 的 Apache Iceberg 版本的更多信息,请参阅 Iceberg 版本历史记录。