Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Trabajar con una jerarquía de varios catálogos en AWS Glue Data Catalog with Spark en Amazon EMR
Puede registrar su clúster de Amazon EMR para acceder al catálogo de datos de AWS Glue, que pone las tablas y otros recursos del catálogo a disposición de varios consumidores. AWS Glue Data Catalog admite una jerarquía de varios catálogos, que unifica los datos en los lagos de datos de Amazon S3. También proporciona una API de metastore de Hive y una API REST Apache Iceberg de código abierto para acceder a los datos. Estas funciones están disponibles para Amazon EMR y otros servicios, como Amazon Athena Amazon Redshift.
Cómo se organizan los recursos del catálogo
Al crear recursos en el catálogo de datos de AWS Glue, puede acceder a ellos desde cualquier motor SQL que admita la API REST de Apache Iceberg o el metaalmacén de Hive. AWS Lake Formation gestiona los permisos.
En AWS Glue Data Catalog, los datos se organizan en una jerarquía lógica de catálogos, bases de datos y tablas:
Catálogo: contenedor lógico que contiene objetos de un banco de datos, como esquemas o tablas.
-
Catálogo para almacenar tablas de Redshift Managed Storage (RMS): cuando administra catálogos para almacenar tablas RMS, puede acceder a estas tablas mediante Iceberg.
Base de datos: organiza los objetos de datos, como tablas y vistas, en un catálogo.
Tablas y vistas: objetos de datos de una base de datos que proporcionan una capa de abstracción con un esquema comprensible. Proporcionan una capa para acceder a los datos subyacentes, que pueden estar en varios formatos y en diferentes ubicaciones.
Configuración de un catálogo de datos para su uso con Amazon EMR
Para empezar, debe configurar el catálogo para que sea compatible con las herramientas de Amazon EMR. El catálogo de datos de AWS Glue es compatible con Hive Metastore y con Iceberg REST. APIs
Configuración de Amazon EMR con un metastore de Hive
Para obtener información sobre cómo configurarlo, consulta la compatibilidad del catálogo de datos de AWS Glue para trabajos de Spark en la Guía del usuario de AWS Glue. En este tema se describe cómo configurar el catálogo de datos de AWS Glue como un metaalmacén de Hive y hacer que esté disponible como punto final. Además, hay documentación de Amazon EMR disponible que muestra cómo especificar el catálogo de datos de AWS Glue como un metaalmacén de Spark, en Use the AWS Glue Data Catalog como metastore de Apache Hive para Spark.
Permisos para acceder a los recursos del catálogo de datos de AWS Glue
En esta sección se describen los requisitos de la política de IAM para utilizar las herramientas de Amazon EMR con los datos del catálogo. Tras registrar el clúster en el catálogo de datos de AWS Glue, necesitará los siguientes permisos para descubrir la creación y los cambios en el catálogo de datos creado posteriormente:
pegamento: GetCatalog
pegamento: GetCatalogs
conjuntos: AssumeRole
conjuntos: TagSession
conjuntos: SetContext
conjuntos: SetSourceIdentity
En la mayoría de los casos, al asignar permisos, se recomienda crear un rol de IAM y asignarle permisos.
Además, para consultar los datos del catálogo, debe configurar los permisos para el catálogo de datos mediante. AWS Lake Formation Para obtener más información sobre cómo configurar los permisos para los catálogos de datos AWS Lake Formation, consulte Concesión y revocación de permisos en los recursos del catálogo de datos.
Tras crear y configurar el clúster y establecer los permisos en los objetos del catálogo, puede enviar trabajos para consultar y procesar datos.
Configurar Spark para acceder a una jerarquía de varios catálogos en AWS Glue Data Catalog
Con EMR 7.5, puedes configurar Spark para que utilice la jerarquía multicálogos de AWS Glue. Una jerarquía de varios catálogos te permite:
Lleve sus datos de Redshift Managed Storage (RMS), como tablas, vistas y vistas materializadas de los almacenes de datos de Amazon Redshift existentes, a Glue Data Catalog. AWS Puede consultar estos objetos mediante EMR on y EMR EC2 Serverless.
Cree catálogos RMS, AWS Glue Data Catalog y almacene datos en RMS con ZeroETL y consulte los datos con motores de consulta compatibles con Iceberg.
Cree tablas Iceberg gestionadas en AWS Glue Data Catalog con una gestión de almacenamiento completa que incluye compactación, instantáneas y retención.
Conexión a un catálogo múltiple al inicializar una sesión de Spark
Los siguientes ejemplos muestran cómo usar Spark shell interactivo, Spark submit o Amazon EMR Notebooks para trabajar AWS con la jerarquía de múltiples catálogos de Glue.
Inicie una sesión de Spark en Redshift Managed Storage con AWS Glue Data Catalog
El siguiente comando de ejemplo inicializa una sesión de Spark con el catálogo de datos de 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.defaultCatalog=rms --conf spark.sql.extensions=org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions
El siguiente ejemplo inicializa una sesión de Spark con la API REST de Iceberg y Redshift Managed Storage with Glue AWS Data Catalog.
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.defaultCatalog=rms \ --conf spark.sql.extensions=org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions
Para obtener más información sobre el uso de una jerarquía de catálogos múltiples de AWS Glue con Spark Iceberg, consulta Usar un clúster de Iceberg con Spark.
Consideraciones y limitaciones de una configuración de varios catálogos
No se admite el uso de una jerarquía de varios catálogos con el metaalmacén de Apache Hive.
El uso de una jerarquía de varios catálogos con Apache Iceberg no permite recurrir al metaalmacén de Apache Hive cuando se utiliza.
SparkSessionCatalog
Los EMR en EC2 los clústeres con la función Runtime no admiten la jerarquía de varios catálogos.
Los EMR en EC2 los clústeres habilitados AWS Lake Formation no admiten la jerarquía de varios catálogos.