Conexión del Catálogo de datos a un metaalmacén de Hive externo - AWS Lake Formation

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.

Conexión del Catálogo de datos a un metaalmacén de Hive externo

Para conectarlos a un metaalmacén AWS Glue Data Catalog de Hive, debe implementar una aplicación llamada -. AWS SAM GlueDataCatalogFederation HiveMetastore Crea e implementa los recursos necesarios para conectar el metaalmacén de Hive al Catálogo de datos. Puede acceder a la AWS SAM aplicación en. AWS Serverless Application Repository

La AWS SAM aplicación crea la conexión para el metaalmacén de Hive detrás de Amazon API Gateway mediante una función Lambda. La AWS SAM aplicación utiliza un identificador uniforme de recursos (URI) como entrada del usuario y conecta el metabastore externo de Hive al catálogo de datos. Cuando un usuario ejecuta una consulta en las tablas de Hive, el catálogo de datos llama al punto final de API Gateway. El punto de conexión invoca la función de Lambda para recuperar los metadatos de las tablas de Hive.

Para conectar el Catálogo de datos al metaalmacén de Hive y configurar los permisos
  1. Implemente la AWS SAM aplicación.
    1. Inicie sesión en AWS Management Console y abra el AWS Serverless Application Repository.

    2. En el panel de navegación, elija Aplicaciones disponibles.

    3. Elija Aplicaciones públicas.

    4. Seleccione la opción Mostrar aplicaciones que crean roles de IAM personalizados o políticas de recursos.

    5. En el cuadro de búsqueda, introduzca el nombre GlueDataCatalogFederation- HiveMetastore.

    6. Seleccione la HiveMetastore aplicación GlueDataCatalogFederation-.

    7. En Configuración de la aplicación, introduzca la siguiente configuración mínima requerida para la función de Lambda:

      • Nombre de la aplicación: un nombre para AWS SAM la aplicación.

      • GlueConnectionName- Un nombre para la conexión.

      • HiveMetastoreURIs: el URI de tu servidor de metatienda de Hive.

      • LambdaMemory- La cantidad de memoria Lambda en MB de 128 a 10240. El valor predeterminado es 1024.

      • LambdaTimeout- El tiempo de ejecución máximo de la invocación a Lambda en segundos. El valor predeterminado es 30.

      • VPC y SecurityGroupIds VPCSubnetIds: información sobre la VPC en la que se encuentra el metabastore de Hive.

    8. Seleccione Confirmo que esta aplicación puede crear roles de IAM y políticas de recursos personalizados. Para obtener más información, elija el enlace Info.

    9. En la parte inferior derecha de la sección Configuración de aplicación, elija Implementar. Una vez finalizada la implementación, aparece la función de Lambda en la sección Recursos en la consola de Lambda.

    La aplicación se implementa en Lambda. Su nombre va precedido de serverlessrepo- para indicar que la aplicación se implementó desde. AWS Serverless Application Repository Al seleccionar la aplicación, accederá a la página Recursos, donde se enumeran todos los recursos de la aplicación que se implementaron. Los recursos incluyen la función Lambda que permite la comunicación entre el catálogo de datos y el metabastore de Hive, la AWS Glue conexión y otros recursos necesarios para la federación de bases de datos.

  2. Crear una base de datos federada en Data Catalog.

    Después de crear una conexión al metabastore de Hive, puede crear bases de datos federadas en el catálogo de datos que apunten a las bases de datos externas del metabastore de Hive. Debe crear una base de datos correspondiente en el catálogo de datos para cada base de datos del metaalmacén de Hive que vaya a conectar al catálogo de datos.

    Lake Formation console
    1. En la página de Uso compartido de datos, seleccione la pestaña Bases de datos compartidas y, a continuación, Crear base de datos.

    2. En el nombre de la conexión, elige el nombre de tu conexión a la metatienda de Hive en el menú desplegable.

    3. Introduzca un nombre de base de datos único y el identificador de origen de federación para la base de datos. Este es el nombre que se utiliza en las instrucciones SQL cuando se consultan las tablas. El nombre puede tener un máximo de 255 caracteres como máximo y debe ser único en su cuenta.

    4. Elija Crear base de datos.

    AWS CLI
    aws glue create-database \ '{ "CatalogId": "<111122223333>", "database-input": { "Name":"<fed_glue_db>", "FederatedDatabase":{ "Identifier":"<hive_db_on_emr>", "ConnectionName":"<hms_connection>" } } }'
  3. Ver las tablas de la base de datos federada.

    Después de crear la base de datos federada, puede ver la lista de tablas en su metaalmacén de Hive mediante la consola de Lake Formation o la AWS CLI.

    Lake Formation console
    1. Seleccione el nombre de la base de datos en la pestaña Bases de datos compartidas.

    2. En la página Bases de datos, elija Ver tablas.

    AWS CLI

    Los siguientes ejemplos muestran cómo recuperar la definición de conexión, el nombre de la base de datos y algunas o todas las tablas de la base de datos. Sustituya el identificador del catálogo de datos por el Cuenta de AWS identificador válido que utilizó para crear la base de datos. Sustituya hms_connection por el nombre de la conexión.

    aws glue get-connection \ --name <hms_connection> \ --catalog-id 111122223333
    aws glue get-database \ --name <fed_glu_db> \ --catalog-id 111122223333
    aws glue get-tables \ --database-name <fed_glue_db> \ --catalog-id 111122223333
    aws glue get-table \ --database-name <fed_glue_db> \ --name <hive_table_name> \ --catalog-id 111122223333
  4. Conceder permisos.

    Una vez creada la base de datos, puede conceder permisos a otros usuarios y roles de IAM en su cuenta o a organizaciones Cuentas de AWS y organizaciones externas. No podrá conceder permisos de escritura de datos (insertar, eliminar) ni permisos de metadatos (modificar, eliminar, crear) en las bases de datos federadas. Para obtener más información sobre cómo conceder permisos, consulte Administrar los permisos de Lake Formation.

  5. Consultar las bases de datos federadas.

    Tras conceder los permisos, los usuarios pueden iniciar sesión y empezar a consultar la base de datos federada mediante Athena y Amazon Redshift. Los usuarios ahora pueden usar el nombre de la base de datos local para hacer referencia a la base de datos de Hive en las consultas de SQL.

    Ejemplo de sintaxis Amazon Athena de consulta

    fed_glue_dbSustitúyalo por el nombre de la base de datos local que creó anteriormente.

    Select * from fed_glue_db.customers limit 10;