Casa del lago Amazon SageMaker permite una plataforma lakehouse unificada, abierta y segura en sus almacenes y lagos de datos existentes. Su arquitectura de datos unificada admite análisis de datos, inteligencia empresarial, aprendizaje automático y IA generativa aplicaciones, que ahora pueden aprovechar una única copia autorizada de datos. Con SageMaker Lakehouse, obtiene lo mejor de ambos mundos: la flexibilidad de utilizar contenido rentable Servicio de almacenamiento easy de Amazon (Amazon S3) almacenamiento con la computación escalable de un lago de datos, junto con el rendimiento, la confiabilidad y las capacidades SQL típicamente asociadas con un almacén de datos.
SageMaker Lakehouse permite la interoperabilidad al proporcionar API REST de Apache Iceberg de código abierto para acceder a los datos en Lakehouse. Los clientes ahora pueden utilizar las herramientas que elijan y una amplia gama de servicios de AWS, como Desplazamiento al rojo del Amazonas, EMR de Amazon, Atenea amazónica y Amazon SageMakerademás de motores de análisis de terceros que son compatibles con las especificaciones REST de Apache Iceberg para consultar sus datos in situ.
Finalmente, SageMaker Lakehouse ahora proporciona controles de acceso seguros y detallados a los datos tanto en los almacenes de datos como en los lagos de datos. Con controles de permiso de recursos de Formación del lago AWS integrado en el Catálogo de datos de AWS GlueSageMaker Lakehouse permite a los clientes definir y compartir de forma segura el acceso a una única copia autorizada de datos en toda su organización.
Las organizaciones que administran cargas de trabajo en análisis de AWS y Databricks ahora pueden utilizar esta capacidad de lakehouse abierta y segura para unificar la administración de políticas y la supervisión de su lago de datos en Amazon S3. En esta publicación, le mostraremos cómo la computación de propósito basic de Databricks en AWS puede integrarse con la Pegamento AWS Catálogo REST de Iceberg para acceso a metadatos y uso de Lake Formation para acceso a datos. Para que la configuración de esta publicación sea sencilla, el catálogo REST de Glue Iceberg y el clúster de Databricks comparten la misma cuenta de AWS.
Descripción basic de la solución
En esta publicación, mostramos cómo las tablas catalogadas en Knowledge Catalog y almacenadas en Amazon S3 se pueden consumir desde la computación de Databricks mediante Glue Iceberg REST Catalog con acceso a datos protegido mediante Lake Formation. Le mostraremos cómo se puede configurar el clúster para interactuar con el catálogo REST de Glue Iceberg, usar una computadora portátil para acceder a los datos usando credenciales vendidas temporales de Lake Formation y ejecutar análisis para obtener información.
La siguiente figura muestra la arquitectura descrita en el párrafo anterior.
Requisitos previos
Para seguir la solución presentada en esta publicación, necesita los siguientes requisitos previos de AWS:
- Acceda al administrador del lago de datos de Lake Formation en su cuenta de AWS. Un administrador del lago de datos de Lake Formation es una entidad principal de IAM que puede registrar ubicaciones de Amazon S3, acceder al catálogo de datos, otorgar permisos de Lake Formation a otros usuarios y ver AWS CloudTrail Ver Crear un administrador del lago de datos para más información.
- Habilite el acceso completo a la tabla para que los motores externos accedan a los datos en Lake Formation.
- Inicie sesión en la consola de Lake Formation como administrador de IAM y elija Administración en el panel de navegación.
- Elegir Configuración de integración de aplicaciones y seleccione Permitir que motores externos accedan a datos en ubicaciones de Amazon S3 con acceso completo a las tablas.
- Elegir Ahorrar.
- Una base de datos y tablas de AWS Glue existentes. Para esta publicación, usaremos una base de datos de AWS Glue llamada
icebergdemodb
que contiene una tabla Iceberg llamada persona y los datos se almacenan en un depósito de propósito basic de S3 llamadoicebergdemodatalake
. - Un rol de IAM definido por el usuario que asume Lake Formation al acceder a los datos en la ubicación S3 anterior para vender credenciales con alcance. Siga las instrucciones proporcionadas en Requisitos para los roles utilizados para registrar ubicaciones. Para esta publicación, usaremos el rol IAM.
LakeFormationRegistrationRole
.
Además de los requisitos previos de AWS, necesita acceso a Databricks Workspace (en AWS) y la capacidad de crear un clúster con No hay aislamiento compartido modo de acceso.
Configure una función de perfil de instancia. Para obtener instrucciones sobre cómo crear y configurar el rol, consulte Administrar perfiles de instancia en Databricks. Cree una política administrada por el cliente denominada: dataplane-glue-lf-policy
con las siguientes políticas y adjunte las mismas a la función del perfil de instancia:
Para esta publicación, usaremos un rol de perfil de instancia (databricks-dataplane-instance-profile-role
), que se adjuntará al clúster creado anteriormente.
Registre la ubicación de Amazon S3 como ubicación del lago de datos
Registro de una ubicación de Amazon S3 con Lake Formation proporciona una función de IAM con permisos de lectura/escritura en la ubicación de S3. En este caso, deberá registrar el icebergdemodatalake
ubicación del cucharón usando el LakeFormationRegistrationRole
Rol de IAM.
Una vez registrada la ubicación, Lake Formation asume la LakeFormationRegistrationRole
función cuando otorga credenciales temporales a los servicios integrados de AWS/motores de análisis de terceros que son compatibles (requisito previo Paso 2) que acceden a los datos en esa ubicación del depósito S3.
Para registrar la ubicación de Amazon S3 como ubicación del lago de datos, full los siguientes pasos:
- Inicie sesión en AWS Administration Console para Lake Formation como administrador del lago de datos.
- En el panel de navegación, elija Ubicaciones del lago de datos bajo Administración.
- Elegir Registrar ubicación.
- Para Ruta de Amazon S3ingresar
s3://icebergdemodatalake
. - Para Rol de IAMseleccionar LakeFormaciónRegistroRol.
- Para Modo de permisoseleccionar Formación del lago.
- Elegir Registrar ubicación.
Conceder permisos de bases de datos y tablas al rol de IAM utilizado en Databricks
Conceder permiso DESCRIBIR en el icebergdemodb
base de datos al rol de instancia de Databricks IAM.
- Inicie sesión en la consola de Lake Formation como administrador del lago de datos.
- En el panel de navegación, elija Permisos del lago de datos y elige Conceder.
- En el Principios sección, seleccione Usuarios y roles de IAM y elige función-perfil-de-instancia-de-plano-de-datos-de-datos-bricks.
- En el Etiquetas LF o recursos de catálogo sección, seleccione Recursos del catálogo de datos con nombre. Elegir
para catálogos y icebergdemodb para Bases de datos. - Seleccionar DESCRIBIR para Permisos de base de datos.
- Elegir Conceder.
Otorgue permisos SELECT y DESCRIBE en la tabla de personas en el icebergdemodb
base de datos al rol de instancia de Databricks IAM.
- En el panel de navegación, elija Permisos del lago de datos y elige Conceder.
- En el Principios sección, seleccione Usuarios y roles de IAM y elige función-perfil-de-instancia-de-plano-de-datos-de-datos-bricks.
- En el Etiquetas LF o recursos de catálogo sección, seleccione Recursos del catálogo de datos con nombre. Elegir
para catálogos, icebergdemodb para Bases de datos y persona para mesa. - Seleccionar SÚPER para Permisos de mesa.
- Elegir Conceder.
Conceder permisos de ubicación de datos en el depósito al rol de instancia de IAM de Databricks.
- En el panel de navegación de la consola de Lake Formation, elija Ubicaciones de datosy luego elija Conceder.
- Para Usuarios y roles de IAMelegir función-perfil-de-instancia-de-plano-de-datos-de-datos-bricks.
- Para Lugares de almacenamientoseleccione el s3://icebergdemodatalago.
- Elegir Conceder.
Espacio de trabajo de ladrillos de datos
Cree un clúster y configúrelo para conectarse con un punto remaining del catálogo REST de Glue Iceberg. Para esta publicación, usaremos un clúster de Databricks con la versión de tiempo de ejecución 15.4 LTS (incluye Apache Spark 3.5.0, Scala 2.12).
- En la consola de Databricks, elija Calcular en el panel de navegación.
- Cree un clúster con la versión de tiempo de ejecución 15.4 LTS, modo de acceso como ‘No hay aislamiento compartido‘ y elegir
databricks-dataplane-instance-profile-role
como rol de perfil de instancia en Configuración sección. - Ampliar el Opciones avanzadas sección. En el Chispa sección, para Configuración de chispa incluir los siguientes detalles:
- En el Grupo sección, para Bibliotecas Incluye los siguientes frascos:
org.apache.iceberg-spark-runtime-3.5_2.12:1.6.1
software program.amazon.awssdk:bundle:2.29.5
Cree un cuaderno para analizar los datos administrados en Knowledge Catalog:
- En el navegador del espacio de trabajo, cree un nuevo cuaderno y adjúntelo al clúster creado anteriormente.
- Ejecute los siguientes comandos en la celda del cuaderno para consultar los datos.
- Modifique aún más los datos en el lago de datos de S3 utilizando el catálogo REST de AWS Glue Iceberg.
Esto muestra que ahora puede analizar datos en un clúster de Databricks utilizando un punto remaining del catálogo REST de AWS Glue Iceberg con Lake Formation administrando el acceso a los datos.
Limpiar
Para limpiar los recursos utilizados en este put up y evitar posibles cargos:
- Elimine el clúster creado en Databricks.
- Elimine los roles de IAM creados para esta publicación.
- Elimine los recursos creados en Knowledge Catalog.
- Vacíe y luego elimine el depósito S3.
Conclusión
En esta publicación, le mostramos cómo administrar un conjunto de datos de forma centralizada en AWS Glue Knowledge Catalog y hacerlo accesible para el cálculo de Databricks mediante la API del catálogo REST de Iceberg. La solución también le permite utilizar Databricks para utilizar mecanismos de management de acceso existentes con Lake Formation, que se utiliza para administrar el acceso a metadatos y habilitar el acceso al almacenamiento subyacente de Amazon S3 mediante la venta de credenciales.
Pruebe la función y comparta sus comentarios en los comentarios.
Sobre los autores
Srividya Parthasarathy es arquitecto sénior de Massive Knowledge en el equipo de AWS Lake Formation. Trabaja con el equipo de producto y los clientes para crear funciones y soluciones sólidas para su plataforma de datos analíticos. Le gusta crear soluciones de malla de datos y compartirlas con la comunidad.
Venkatavaradhan (Venkat) Viswanathan es arquitecto de soluciones de socios globales en Amazon Internet Companies. Venkat es líder en estrategia tecnológica en datos, inteligencia synthetic, aprendizaje automático, inteligencia synthetic generativa y análisis avanzado. Venkat es una PYME world de Databricks y ayuda a los clientes de AWS a diseñar, crear, proteger y optimizar cargas de trabajo de Databricks en AWS.
Pratik Das es gerente senior de productos en AWS Lake Formation. Le apasiona todo lo relacionado con los datos y trabaja con los clientes para comprender sus necesidades y crear experiencias maravillosas. Tiene experiencia en la creación de soluciones basadas en datos y sistemas de aprendizaje automático.