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 con Spark en Amazon EMR
Puedes registrar tu EMR clúster de Amazon 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 un metaalmacén de Hive API y un Apache Iceberg REST API 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 SQL motor compatible con el metaalmacén Apache Iceberg REST API o 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 RMS tablas, 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, debes configurar el catálogo para que sea compatible con EMR las herramientas de Amazon. El catálogo de datos de AWS Glue es compatible con Hive Metastore y con IcebergREST. APIs
Configuración de Amazon EMR con una metatienda 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 EMR documentación de Amazon disponible que muestra cómo especificar el catálogo de datos de AWS Glue como un metaalmacén de Spark, en Usar el catálogo de datos de AWS Glue como el metaalmacén 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 IAM de la política para utilizar EMR las herramientas de Amazon 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 IAM rol 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 la EMR versión 7.5, puedes configurar Spark para que utilice la jerarquía de catálogos múltiples 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 EC2 y Serverless. EMR
Cree RMS catálogos, AWS Glue Data Catalog y almacene datos RMS con Zero ETL 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 con la jerarquía de múltiples catálogos de AWS 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 el catálogo de datos Glue Managed Storage with Glue AWS de Iceberg y REST API Redshift.
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
EMRen EC2 los clústeres con la función Runtime, no admiten la jerarquía de varios catálogos.
EMRen EC2 los clústeres habilitados con AWS Lake Formation no admiten la jerarquía de varios catálogos.