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.
Trabajando con una jerarquía de varios catálogos en AWS Pegue el catálogo de datos con 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 El catálogo de datos de Glue 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 del metastore de Hive y una API REST de Apache Iceberg de código abierto para acceder a los datos. Estas características están disponibles para Amazon EMR y otros servicios como Amazon Athena y 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 compatible con la API REST de Apache Iceberg o el metastore de Hive. AWS Lake Formation administra 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 almacén 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 esas tablas mediante Iceberg.
-
Base de datos: organiza los objetos de datos de un catálogo, como tablas y vistas.
-
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 datos en distintos formatos y ubicaciones.
Configuración de un catálogo de datos para usarlo con Amazon EMR
Para comenzar, debe configurar el catálogo para que admita las herramientas de Amazon EMR. El catálogo de datos de AWS Glue proporciona API compatibles con el metaalmacén de Hive y con Iceberg REST.
Configuración de Amazon EMR con un metalmacén de Hive
Para obtener información sobre cómo configurarlo, consulte el soporte del catálogo de datos de AWS Glue para los 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 el catálogo de datos de AWS Glue como el metaalmacén de Apache Hive para Spark.
Permisos para acceder a los recursos en AWS Catálogo de datos de Glue
En esta sección, se describen los requisitos de políticas de IAM para usar las herramientas de Amazon EMR con datos del catálogo. Después de registrar su 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 que se creará posteriormente:
-
pegamento: GetCatalog
-
pegamento: GetCatalogs
-
conjuntos: AssumeRole
-
sets: TagSession
-
sets: SetContext
-
sets: SetSourceIdentity
En la mayoría de los casos, recomendamos crear un rol de IAM y asignarle los permisos necesarios.
Además, para consultar datos del catálogo, usted debe establecer permisos para el catálogo mediante AWS Lake Formation. Para más información sobre cómo establecer permisos en catálogos de datos mediante AWS Lake Formation, consulte Granting and revoking permissions on Data Catalog resources.
Una vez que configure su clúster y defina los permisos sobre los objetos del catálogo, puede enviar trabajos para consultar y procesar datos.
Configura Spark para acceder a una jerarquía de varios catálogos en AWS Catálogo de datos de Glue
Con EMR 7.5, puedes configurar Spark para usar la jerarquía de varios catálogos de AWS Glue. Una jerarquía de múltiples catálogos permite:
-
Transfiera sus datos de almacenamiento gestionado (RMS) de Redshift, como tablas, vistas y vistas materializadas, de los almacenes de datos de Amazon Redshift existentes a Glue Data Catalog. AWS Puede consultar estos objetos desde EMR on EC2 y EMR sin servidor.
-
Cree catálogos de RMS, AWS Glue Data Catalog y almacene datos en RMS con ZeroETL y consulte los datos con motores de consulta. Iceberg-compatible
-
Cree tablas Iceberg administradas en AWS Glue Data Catalog con una administración de almacenamiento con todas las funciones que incluye compactación, instantáneas y retención.
Conexión con varios catálogos al iniciar una sesión de Spark
Los siguientes ejemplos muestran cómo usar las libretas interactivas de Spark Shell, Spark submit o Amazon EMR para trabajar con AWS la jerarquía de varios catálogos de Glue.
Inicialice una sesión de Spark en Redshift Managed Storage con AWS Catálogo de datos de Glue
El siguiente ejemplo inicia 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
En el siguiente ejemplo, se inicializa una sesión de Spark con la API REST de Iceberg y el almacenamiento gestionado de Redshift con AWS Glue 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 varios catálogos de AWS Glue con Spark Iceberg, consulta Cómo usar un clúster Iceberg con Spark.
Consideraciones y limitaciones para una configuración con varios catálogos
-
Una jerarquía de varios catálogos no admite el metalmacén de Apache Hive.
-
Una jerarquía de varios catálogos con Apache Iceberg no permite recurrir al metalmacén de Apache Hive cuando se usa
SparkSessionCatalog. -
Los clústeres de EMR en EC2 con rol de tiempo de ejecución no admiten jerarquías de varios catálogos.
-
La EMR en los clústeres de EC2 habilitada AWS Lake Formation no admite la jerarquía de varios catálogos.