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.
En AWS Lake Formation es posible administrar los permisos de acceso para Formatos de tabla abiertos (OTF), como Apache Iceberg
nota
Los servicios de análisis de AWS no admiten todos los formatos de tablas transaccionales. Para obtener más información, consulte Trabajar con otros AWS servicios. Este tutorial aborda la creación manual de una nueva base de datos y una tabla en el Catálogo de datos utilizando únicamente trabajos de AWS Glue.
El tutorial incluye una plantilla de AWS CloudFormation para una configuración rápida. Puede revisarla y personalizarla para adaptarla a sus necesidades.
Temas
Destinatarios previstos
Este tutorial está dirigido a administradores de IAM, administradores de lago de datos y analistas empresariales. En la tabla siguiente se enumeran los roles utilizados en este tutorial para crear una tabla gobernada con Lake Formation.
Rol | Descripción |
---|---|
Administrador de IAM | Usuario que puede crear usuarios de IAM, roles y buckets de Amazon S3. Tiene la política administrada AdministratorAccess de AWS. |
Administrador de lago de datos | Usuario que puede acceder al Catálogo de datos, crear bases de datos y conceder permisos de Lake Formation a otros usuarios. Tiene menos permisos de IAM que el administrador de IAM, pero suficientes para administrar el lago de datos. |
Analista de negocios | Usuario que puede ejecutar consultas en el lago de datos. Tiene permisos para ejecutar consultas. |
Requisitos previos
Antes de empezar este tutorial, debe tener una Cuenta de AWS en la que iniciar sesión como usuario con los permisos adecuados. Para obtener más información, consulte Inscríbase en una Cuenta de AWS y Creación de un usuario con acceso administrativo.
En el tutorial, se asume que conoce las políticas y los roles de IAM. Para obtener más información acerca de IAM, consulte la Guía del usuario de IAM.
Para completar este tutorial, debe configurar los recursos de AWS siguientes:
Administrador de lago de datos
Configuración del lago de datos de Lake Formation
Motor Amazon Athena, versión 3
Para crear un administrador de lago de datos
-
Inicie sesión en la consola de Lake Formation en https://console.aws.amazon.com/lakeformation/
como usuario administrador. En este tutorial, vamos a crear recursos en la región Este de EE. UU. (Norte de Virginia). -
Desde la consola de Lake Formation, en Permisos del panel de navegación, seleccione Roles y tareas administrativas.
-
Seleccione Elegir administradores en Administradores del lago de datos.
-
En la ventana emergente para administrar gestores de lagos de datos, en Usuarios y roles de IAM, seleccione Usuario de IAM administrador.
-
Seleccione Guardar.
Para habilitar la configuración del lago de datos
-
Abra la consola de Lake Formation en https://console.aws.amazon.com/lakeformation/
. En el panel de navegación, en Catálogo de datos, seleccione Configuración. Desmarque lo siguiente: Usar solo el control de acceso de IAM para nuevas bases de datos.
-
Usar solo el control de acceso de IAM para nuevas tablas en bases de datos nuevas.
-
En Configuración de la versión entre cuentas, seleccione Versión 3 como versión entre cuentas.
-
Seleccione Guardar.
Para actualizar el motor Amazon Athena a la versión 3
-
Abra la consola de Athena en https://console.aws.amazon.com/athena/
. -
Seleccione el grupo de trabajo y elija el principal.
-
Asegúrese de que el grupo de trabajo tenga una versión mínima de 3. Si no es así, edite el grupo de trabajo, elija Manual en Actualizar el motor de consultas y seleccione la versión 3.
Seleccione Guardar cambios.
Paso 1: Aprovisionar recursos
En esta sección se explica cómo configurar los recursos de AWS mediante una plantilla de AWS CloudFormation.
Para cree recursos mediante una plantilla de AWS CloudFormation.
Inicie sesión en la consola de AWS CloudFormation en https://console.aws.amazon.com/cloudformation
como administrador de IAM en la región Este de EE. UU. (Norte de Virginia). Seleccione Lanzar pila
. Seleccione Siguiente en la pantalla Crear pila.
Introduzca un Nombre de pila.
Elija Siguiente.
En la página siguiente, seleccione Siguiente.
Revise los detalles en la última página y acepte que AWS CloudFormation pueda crear recursos de IAM.
Seleccione Crear.
La creación de la pila puede llevar hasta dos minutos.
El lanzamiento de la pila de formación de nube crea los recursos siguientes:
-
lf-otf-datalake-123456789012: bucket de Amazon S3 para almacenar datos
nota
El identificador de cuenta adjunto al nombre del bucket de Amazon S3 se sustituye por el identificador de su cuenta.
-
lf-otf-tutorial-123456789012: bucket de Amazon S3 para almacenar los resultados de las consultas y los scripts de trabajo de AWS Glue.
lficebergdb: base de datos AWS Glue Iceberg
lfhudidb: base de datos AWS Glue Hudi
-
lfdeltadb: base de datos AWS Glue Delta
native-iceberg-create: trabajo de AWS Glue que crea una tabla de Iceberg en el Catálogo de datos
native-hudi-create: trabajo de AWS Glue que crea una tabla de Iceberg en el Catálogo de datos
-
native-delta-create: trabajo de AWS Glue que crea una tabla de Iceberg en el Catálogo de datos
LF-OTF-Glueservicerole: rol de IAM que se transfiere a AWS Glue para ejecutar los trabajos. Este rol incluye las políticas necesarias para acceder a los recursos, como el Catálogo de datos, el bucket de Amazon S3, etc.
LF-OTF-RegisterRole: rol de IAM para registrar la ubicación de Amazon S3 en Lake Formation. Este rol lleva
LF-Data-Lake-Storage-Policy
asociada.lf-consumer-analystuser: usuario de IAM al que consultar los datos usando Athena
-
lf-consumer-analystuser-credentials: contraseña del usuario analista de datos guardada en AWS Secrets Manager
Una vez finalizada la creación de la pila, vaya a la pestaña de resultados y anote los valores de:
AthenaQueryResultLocation: ubicación de Amazon S3 para el resultado de la consulta de Athena
BusinessAnalystUserCredentials: contraseña para el usuario analista de datos
Para recuperar el valor de la contraseña:
Elija el valor de
lf-consumer-analystuser-credentials
accediendo a la consola de Secrets Manager.En la sección Valor secreto, seleccione Recuperar valor secreto.
Anote el valor secreto de la contraseña.
Paso 2: Configurar los permisos para una tabla de Iceberg
En esta sección, aprenderá a crear una tabla de Iceberg en AWS Glue Data Catalog, configurar permisos de datos en AWS Lake Formation y consultar datos con Amazon Athena.
Para crear una tabla de Iceberg
En este paso, ejecutará un trabajo AWS Glue que creará una tabla de transacciones de Iceberg en el Catálogo de datos.
-
Abra la consola de AWS Glue en https://console.aws.amazon.com/glue/
en la región Este de EE. UU. (Norte de Virginia) como usuario administrador del lago de datos. -
En el panel de navegación izquierdo, seleccione trabajos.
-
Seleccione
native-iceberg-create
. -
En Acciones, seleccione Editar trabajo.
-
En Detalles del trabajo, expanda Propiedades avanzadas y marque la casilla junto a Usar AWS Glue Data Catalog como metaalmacén de Hive para añadir los metadatos de la tabla en AWS Glue Data Catalog. Esto especifica AWS Glue Data Catalog como metaalmacén de los recursos del Catálogo de datos utilizados en el trabajo y facilita que los permisos de Lake Formation se apliquen después sobre los recursos del catálogo.
Seleccione Guardar.
-
Elija Ejecutar. Puede ver el estado del trabajo mientras se ejecuta.
Para obtener más información acerca de trabajos de AWS Glue, consulte el apartado sobre operar con trabajos en la consola de AWS Glue en la Guía para desarrolladores de AWS Glue.
Este trabajo crea una tabla de Iceberg de nombre
product
en la base de datoslficebergdb
. Verifique la tabla de productos en la consola de Lake Formation.
Para registrar la ubicación de los datos con Lake Formation
A continuación, registre una ruta de Amazon S3 como ubicación de su lago de datos.
-
Abra la consola de Lake Formation como administrador del lago de datos en https://console.aws.amazon.com/lakeformation/
. En el panel de navegación, en Registrar e ingerir, seleccione Ubicación de los datos.
En la parte superior derecha de la consola, seleccione Registrar ubicación.
En la página Registrar ubicación, introduzca:
-
Ruta de Amazon S3: seleccione Examinar y elija
lf-otf-datalake-123456789012
. Haga clic en la flecha derecha (>) junto a la ubicación raíz de Amazon S3 para ir a la ubicacións3/buckets/lf-otf-datalake-123456789012/transactionaldata/native-iceberg
. -
Rol de IAM: seleccione
LF-OTF-RegisterRole
como rol de IAM. Seleccione Registrar ubicación.
Para obtener más información sobre el registro de una ubicación de datos en Lake Formation, consulte Añadir una ubicación de Amazon S3 a su lago de datos.
-
Para conceder permisos a Lake Formation en la tabla de Iceberg
En este paso, concederemos permisos de lago de datos al usuario analista de negocios.
En Permisos del lago de datos, seleccione Conceder.
En la pantalla Conceder permisos de datos, seleccione Usuarios y roles de IAM.
-
Seleccione
lf-consumer-analystuser
en la lista desplegable. Seleccione un recurso de Catálogo de datos con nombre.
En Bases de datos, seleccione
lficebergdb
.En Tablas, seleccione
product
.A continuación, puede conceder el acceso basado en columnas especificando las columnas.
En Permisos de tabla, marque Seleccionar.
En Permisos de datos, seleccione Acceso basado en columnas e Incluir columnas.
Seleccione las columnas
product_name
,price
ycategory
.Elija Conceder.
Para consultar la tabla de Iceberg con Athena
Ahora puede empezar a consultar la tabla de Iceberg que creó con Athena. Si es la primera vez que ejecuta consultas en Athena, debe configurar una ubicación para los resultados de la consulta. Para obtener más información, consulte Especificación de una ubicación de resultados de consulta.
Cierre sesión como usuario administrador del lago de datos e inicie sesión como
lf-consumer-analystuser
en la región Este de EE. UU. (Norte de Virginia) con la contraseña indicada anteriormente en el resultado de AWS CloudFormation.Abra la consola de Athena en https://console.aws.amazon.com/athena/
. Elija Configuración y seleccione Administrar.
En el cuadro Ubicación del resultado de la consulta, indique la ruta al bucket que creó en los resultados de AWS CloudFormation. Copie el valor de
AthenaQueryResultLocation
(s3://lf-otf-tutorial-123456789012/athena-results/) y elija Guardar.Ejecute la consulta siguiente para obtener una vista previa de los 10 registros almacenados en la tabla de Iceberg:
select * from lficebergdb.product limit 10;
Para obtener más información sobre la consulta de tablas de Iceberg con Athena, vaya a Consulta de tablas de Iceberg en la Guía del usuario de Amazon Athena.
Paso 3: Configurar los permisos para una tabla de Hudi
En esta sección, aprenderá a crear una tabla de Hudi en AWS Glue Data Catalog, configurar permisos de datos en AWS Lake Formation y consultar datos con Amazon Athena.
Para crear una tabla de Hudi
En este paso, ejecutará un trabajo AWS Glue que creará una tabla transaccional de Hudi en el Catálogo de datos.
-
Inicie sesión en la consola de AWS Glue en https://console.aws.amazon.com/glue/
en la región Este de EE. UU. (Norte de Virginia). como usuario administrador del lago de datos.
-
En el panel de navegación izquierdo, seleccione trabajos.
-
Seleccione
native-hudi-create
. -
En Acciones, seleccione Editar trabajo.
-
En Detalles del trabajo, expanda Propiedades avanzadas y marque la casilla junto a Usar AWS Glue Data Catalog como metaalmacén de Hive para añadir los metadatos de la tabla en AWS Glue Data Catalog. Esto especifica AWS Glue Data Catalog como metaalmacén de los recursos del Catálogo de datos utilizados en el trabajo y facilita que los permisos de Lake Formation se apliquen después sobre los recursos del catálogo.
Seleccione Guardar.
-
Elija Ejecutar. Puede ver el estado del trabajo mientras se ejecuta.
Para obtener más información acerca de trabajos de AWS Glue, consulte el apartado sobre operar con trabajos en la consola de AWS Glue en la Guía para desarrolladores de AWS Glue.
Este trabajo crea una tabla de Hudi (vaca) en la base de datos: lfhudidb. Verifique la tabla
product
en la consola de Lake Formation.
Para registrar la ubicación de los datos con Lake Formation
A continuación, registre una ruta de Amazon S3 como ubicación raíz de su lago de datos.
-
Inicie sesión en la consola de Lake Formation en https://console.aws.amazon.com/lakeformation/
como usuario administrador del lago de datos. En el panel de navegación, en Registrar e ingerir, seleccione Ubicación de los datos.
En la parte superior derecha de la consola, seleccione Registrar ubicación.
En la página Registrar ubicación, introduzca:
-
Ruta de Amazon S3: seleccione Examinar y elija
lf-otf-datalake-123456789012
. Haga clic en la flecha derecha (>) junto a la ubicación raíz de Amazon S3 para ir a la ubicacións3/buckets/lf-otf-datalake-123456789012/transactionaldata/native-hudi
. -
Rol de IAM: seleccione
LF-OTF-RegisterRole
como rol de IAM. Seleccione Registrar ubicación.
-
Para conceder permisos de lago de datos en la tabla de Hudi
En este paso, concederemos permisos de lago de datos al usuario analista de negocios.
En Permisos del lago de datos, seleccione Conceder.
En la pantalla Conceder permisos de datos, seleccione Usuarios y roles de IAM.
-
lf-consumer-analystuser
en el menú desplegable. Seleccione un recurso de Catálogo de datos con nombre.
En Bases de datos, seleccione
lfhudidb
.En Tablas, seleccione
product
.A continuación, puede conceder el acceso basado en columnas especificando las columnas.
En Permisos de tabla, marque Seleccionar.
En Permisos de datos, seleccione Acceso basado en columnas e Incluir columnas.
Seleccione las columnas
product_name
,price
ycategory
.Elija Conceder.
Para consultar la tabla de Hudi con Athena
Ahora puede empezar a consultar la tabla de Hudi que creó con Athena. Si es la primera vez que ejecuta consultas en Athena, debe configurar una ubicación para los resultados de la consulta. Para obtener más información, consulte Especificación de una ubicación de resultados de consulta.
Cierre sesión como usuario administrador del lago de datos e inicie sesión como
lf-consumer-analystuser
en la región Este de EE. UU. (Norte de Virginia) con la contraseña indicada anteriormente en el resultado de AWS CloudFormation.Abra la consola de Athena en https://console.aws.amazon.com/athena/
. Elija Configuración y seleccione Administrar.
En el cuadro Ubicación del resultado de la consulta, indique la ruta al bucket que creó en los resultados de AWS CloudFormation. Copie el valor de
AthenaQueryResultLocation
(s3://lf-otf-tutorial-123456789012/athena-results/) y elija Guardar.Ejecute la consulta siguiente para obtener una vista previa de los 10 registros almacenados en la tabla de Hudi:
select * from lfhudidb.product limit 10;
Para obtener más información sobre la consulta de tablas de Hudi, vaya a Consulta de tablas de Hudi en la Guía del usuario de Amazon Athena.
Paso 4: Configurar los permisos para una tabla de Hudi
En esta sección, aprenderá a crear una tabla Delta Lake con un archivo de manifiesto de enlaces simbólicos en AWS Glue Data Catalog, a configurar los permisos de datos en AWS Lake Formation y a consultar los datos mediante Amazon Athena.
Para crear una tabla de Delta Lake.
En este paso, ejecutará un trabajo de AWS Glue para crear una tabla transaccional de Delta Lake en el Catálogo de datos.
-
Inicie sesión en la consola de AWS Glue en https://console.aws.amazon.com/glue/
en la región Este de EE. UU. (Norte de Virginia). como usuario administrador del lago de datos.
-
En el panel de navegación izquierdo, seleccione trabajos.
-
Seleccione
native-delta-create
. -
En Acciones, seleccione Editar trabajo.
-
En Detalles del trabajo, expanda Propiedades avanzadas y marque la casilla junto a Usar AWS Glue Data Catalog como metaalmacén de Hive para añadir los metadatos de la tabla en AWS Glue Data Catalog. Esto especifica AWS Glue Data Catalog como metaalmacén de los recursos del Catálogo de datos utilizados en el trabajo y facilita que los permisos de Lake Formation se apliquen después sobre los recursos del catálogo.
Seleccione Guardar.
-
Seleccione Ejecutar en Acciones.
Este trabajo crea una tabla de Delta Lake de nombre
product
en la base de datoslfdeltadb
. Verifique la tablaproduct
en la consola de Lake Formation.
Para registrar la ubicación de los datos con Lake Formation
A continuación, registre una ruta de Amazon S3 como ubicación raíz de su lago de datos.
-
Abra la consola de Lake Formation como administrador del lago de datos en https://console.aws.amazon.com/lakeformation/
. En el panel de navegación, en Registrar e ingerir, seleccione Ubicación de los datos.
En la parte superior derecha de la consola, seleccione Registrar ubicación.
En la página Registrar ubicación, introduzca:
-
Ruta de Amazon S3: seleccione Examinar y elija
lf-otf-datalake-123456789012
. Haga clic en la flecha derecha (>) junto a la ubicación raíz de Amazon S3 para ir a la ubicacións3/buckets/lf-otf-datalake-123456789012/transactionaldata/native-delta
. -
Rol de IAM: seleccione
LF-OTF-RegisterRole
como rol de IAM. Seleccione Registrar ubicación.
-
Para conceder permisos de lago de datos en la tabla de Delta Lake
En este paso, concederemos permisos de lago de datos al usuario analista de negocios.
En Permisos del lago de datos, seleccione Conceder.
En la pantalla Conceder permisos de datos, seleccione Usuarios y roles de IAM.
-
lf-consumer-analystuser
en el menú desplegable. Seleccione un recurso de Catálogo de datos con nombre.
En Bases de datos, seleccione
lfdeltadb
.En Tablas, seleccione
product
.A continuación, puede conceder el acceso basado en columnas especificando las columnas.
En Permisos de tabla, marque Seleccionar.
En Permisos de datos, seleccione Acceso basado en columnas e Incluir columnas.
Seleccione las columnas
product_name
,price
ycategory
.Elija Conceder.
Para consultar la tabla de Delta Lake con Athena
Ahora puede empezar a consultar la tabla de Delta Lake que creó con Athena. Si es la primera vez que ejecuta consultas en Athena, debe configurar una ubicación para los resultados de la consulta. Para obtener más información, consulte Especificación de una ubicación de resultados de consulta.
Cierre sesión como usuario administrador del lago de datos e inicie sesión como
BusinessAnalystUser
en la región Este de EE. UU. (Norte de Virginia) con la contraseña indicada anteriormente en el resultado de AWS CloudFormation.Abra la consola de Athena en https://console.aws.amazon.com/athena/
. Elija Configuración y seleccione Administrar.
En el cuadro Ubicación del resultado de la consulta, indique la ruta al bucket que creó en los resultados de AWS CloudFormation. Copie el valor de
AthenaQueryResultLocation
(s3://lf-otf-tutorial-123456789012/athena-results/) y elija Guardar.Ejecute la consulta siguiente para obtener una vista previa de los 10 registros almacenados en la tabla de Delta Lake:
select * from lfdeltadb.product limit 10;
Para obtener más información sobre la consulta de tablas de Delta Lake, vaya a Consulta de tablas de Delta Lake en la Guía del usuario de Amazon Athena.
Paso 5: Limpiar los recursos de AWS
Para limpiar los recursos
Para evitar cargos no deseados en su Cuenta de AWS, elimine los recursos de AWS que ha usado en este tutorial.
-
Inicie sesión en la consola de AWS CloudFormation en https://console.aws.amazon.com/cloudformation
como administrador de IAM. -
Elimine la pila de formación de nube. Las tablas que ha creado se eliminan automáticamente con la pila.