En este tema se describe cómo configurar los metadatos de Data Lake Formation (DLF) para las tablas Iceberg.
A continuación se muestran las configuraciones compatibles:
Configuración de Spark
Esta configuración utiliza Object Storage Service (OSS) como sistema de archivos. El nombre del catálogo predeterminado y los parámetros obligatorios varían según la versión del clúster de E-MapReduce (EMR). En los siguientes apartados se detallan las configuraciones para versiones específicas.
-
EMR-3.40 y posteriores, así como EMR-5.6.0 y posteriores
NotaEl nombre del catálogo predeterminado es
iceberg.Parámetro
Descripción
Observaciones
spark.sql.extensions
Módulo de extensión de Spark SQL.
Establezca este parámetro en org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions.
NotaEste parámetro se introdujo en Iceberg 0.11.0 y solo es compatible con Spark 3.x.
spark.sql.catalog.<catalog-name>
Nombre del catálogo.
Establezca este parámetro en org.apache.iceberg.spark.SparkCatalog.
spark.sql.catalog.<catalog-name>.catalog-impl
Clase de implementación del catálogo.
Establezca este parámetro en org.apache.iceberg.aliyun.dlf.hive.DlfCatalog.
-
EMR-3.39.x y EMR-5.5.x
NotaEl nombre del catálogo predeterminado es
dlf.Parámetro
Descripción
Observaciones
spark.sql.extensions
Módulo de extensión de Spark SQL.
Establezca este parámetro en org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions.
NotaEste parámetro se introdujo en Iceberg 0.11.0 y solo es compatible con Spark 3.x.
spark.sql.catalog.<catalog-name>
Nombre del catálogo.
Establezca este parámetro en org.apache.iceberg.spark.SparkCatalog.
spark.sql.catalog.<catalog-name>.catalog-impl
Clase de implementación del catálogo.
Establezca este parámetro en org.apache.iceberg.aliyun.dlf.hive.DlfCatalog.
-
EMR-3.38.x, y de EMR-5.3.x a EMR-5.4.x (inclusive)
NotaEl nombre del catálogo predeterminado es
dlf_catalog.Parámetro
Descripción
Observaciones
spark.sql.extensions
Módulo de extensión de Spark SQL.
Establezca este parámetro en org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions.
NotaEste parámetro se introdujo en Iceberg 0.11.0 y solo es compatible con Spark 3.x.
spark.sql.catalog.<catalog-name>
Nombre del catálogo.
Establezca este parámetro en org.apache.iceberg.spark.SparkCatalog.
spark.sql.catalog.<catalog-name>.catalog-impl
Clase de implementación del catálogo.
Establezca este parámetro en org.apache.iceberg.aliyun.dlf.DlfCatalog.
spark.sql.catalog.<catalog-name>.io-impl
Clase de implementación de E/S.
Establezca este parámetro en org.apache.iceberg.hadoop.HadoopFileIO.
spark.sql.catalog.<catalog-name>.oss.endpoint
Endpoint de Object Storage Service (OSS).
Para obtener más información, consulte Regions and endpoints.
Se recomienda establecer oss.endpoint en el endpoint de VPC de OSS. Por ejemplo, si su región es China (Hangzhou), establezca oss.endpoint en
oss-cn-hangzhou-internal.aliyuncs.com.NotaSi accede a OSS entre distintas VPC, establezca oss.endpoint en el endpoint público de OSS.
spark.sql.catalog.<catalog-name>.warehouse
Ruta de OSS donde se almacenan los datos de la tabla.
Ninguna.
spark.sql.catalog.<catalog-name>.access.key.id
AccessKey ID de su cuenta de Alibaba Cloud.
Para obtener más información, consulte Obtain an AccessKey pair.
spark.sql.catalog.<catalog-name>.access.key.secret
AccessKey secret de su cuenta de Alibaba Cloud.
Para obtener más información, consulte Obtain an AccessKey pair.
spark.sql.catalog.<catalog-name>.dlf.catalog-id
ID de su cuenta de Alibaba Cloud.
Para buscar el ID de su cuenta, vaya a la página Security Settings. También puede iniciar sesión en la consola de Alibaba Cloud y buscar su Account ID en la página Account Management.
spark.sql.catalog.<catalog-name>.dlf.endpoint
Endpoint del servicio DLF.
Se recomienda establecer dlf.endpoint en el endpoint de VPC de DLF. Por ejemplo, si su región es China (Hangzhou), establezca dlf.endpoint en
dlf-vpc.cn-hangzhou.aliyuncs.com.NotaTambién puede usar el endpoint público de DLF. Por ejemplo, si su región es China (Hangzhou), establezca dlf.endpoint en
dlf.cn-hangzhou.aliyuncs.com.spark.sql.catalog.<catalog-name>.dlf.region-id
ID de la región del servicio DLF.
Asegúrese de que esta región coincida con la especificada para dlf.endpoint.
Configuración de Hive
Configure los parámetros según la versión de su clúster.
-
EMR-3.39.0 y posteriores, así como EMR-5.5.0 y posteriores
NotaEl nombre del catálogo predeterminado es
dlf.Parámetro
Descripción
Observaciones
iceberg.catalog.<catalog-name>.catalog-impl
Clase de implementación del catálogo.
Establezca este parámetro en org.apache.iceberg.aliyun.dlf.hive.DlfCatalog.
-
EMR-3.38.x, y de EMR-5.3.x a EMR-5.4.x (inclusive)
NotaEl nombre del catálogo predeterminado es
dlf_catalog.Parámetro
Descripción
Observaciones
iceberg.catalog
Nombre del catálogo.
Especifique un nombre personalizado.
iceberg.catalog.<catalog-name>.type
Tipo de catálogo.
Establezca este parámetro en custom.
iceberg.catalog.<catalog-name>.catalog-impl
Clase de implementación del catálogo.
Establezca este parámetro en org.apache.iceberg.aliyun.dlf.DlfCatalog.
iceberg.catalog.<catalog-name>.io-impl
Clase de implementación de E/S.
Establezca este parámetro en org.apache.iceberg.hadoop.HadoopFileIO.
iceberg.catalog.<catalog-name>.warehouse
Ruta del warehouse donde se almacenan los datos de la tabla.
Especifique una ruta de HDFS o una ruta de OSS.
iceberg.catalog.<catalog-name>.access.key.id
AccessKey ID de su cuenta de Alibaba Cloud.
Para obtener más información, consulte Obtain an AccessKey pair.
iceberg.catalog.<catalog-name>.access.key.secret
AccessKey secret de su cuenta de Alibaba Cloud.
Para obtener más información, consulte Obtain an AccessKey pair.
iceberg.catalog.<catalog-name>.dlf.catalog-id
ID de su cuenta de Alibaba Cloud.
Para buscar el ID de su cuenta, vaya a la página Security Settings.
iceberg.catalog.<catalog-name>.dlf.endpoint
Endpoint del servicio DLF.
Se recomienda establecer dlf.endpoint en el endpoint de VPC de DLF. Por ejemplo, si su región es China (Hangzhou), establezca dlf.endpoint en
dlf-vpc.cn-hangzhou.aliyuncs.com.NotaTambién puede usar el endpoint público de DLF. Por ejemplo, si su región es China (Hangzhou), establezca dlf.endpoint en
dlf.cn-hangzhou.aliyuncs.com.iceberg.catalog.<catalog-name>.dlf.region-id
ID de la región del servicio DLF.
Asegúrese de que esta región coincida con la especificada para dlf.endpoint.