Wrangler de datos de Amazon SageMaker es la forma más rápida y sencilla para que los científicos de datos preparen datos para aplicaciones de aprendizaje automático (ML). Con Data Wrangler, puede simplificar el proceso de ingeniería de funciones y completar cada paso del flujo de trabajo de preparación de datos, incluida la selección, limpieza, exploración y visualización de datos a través de una única interfaz visual. Data Wrangler viene con 300 recetas de transformación de datos integradas que puede usar para normalizar, transformar y combinar funciones rápidamente. Con la herramienta de selección de datos en Data Wrangler, puede seleccionar rápidamente datos de diferentes fuentes de datos, como Servicio de almacenamiento simple de Amazon (Amazon S3), Atenea amazónicay Desplazamiento al rojo de Amazon.
Formación del lago AWS Las capacidades entre cuentas simplifican la protección y la gestión de lagos de datos distribuidos en varias cuentas a través de un enfoque centralizado, proporcionando un control de acceso detallado a las tablas de Athena.
En esta publicación, demostramos cómo habilitar el acceso entre cuentas para Data Wrangler utilizando Athena como fuente y Lake Formation como una capacidad central de gobernanza de datos. Como se muestra en el siguiente diagrama de arquitectura, la cuenta A es la cuenta del lago de datos que contiene todos los datos listos para ML derivados de las canalizaciones ETL. La cuenta B es la cuenta de ciencia de datos donde un equipo de científicos de datos usa Data Wrangler para compilar y ejecutar transformaciones de datos. Necesitamos habilitar permisos entre cuentas para Data Wrangler en la Cuenta B para acceder a las tablas de datos ubicadas en el lago de datos de la Cuenta A a través de los permisos de Lake Formation.
Con esta arquitectura, los científicos e ingenieros de datos fuera de la cuenta del lago de datos pueden acceder a los datos del lago y crear transformaciones de datos a través de Data Wrangler.
Antes de sumergirse en el proceso de configuración, asegúrese de que los datos que se compartirán entre las cuentas se rastreen y cataloguen como se detalla en este post. Supongamos que este proceso se ha completado y las bases de datos y tablas ya existen en Lake Formation.
Los siguientes son los pasos de alto nivel para implementar esta solución:
- En la Cuenta A, registre su bucket de S3 usando Lake Formation y cree las bases de datos y tablas necesarias para los datos si no existen.
- El administrador de Lake Formation ahora puede compartir conjuntos de datos de la cuenta A con otras cuentas. Lake Formation comparte estos recursos usando Administrador de acceso a recursos de AWS (RAM de AWS).
- En la cuenta B, acepte la solicitud de recurso compartido mediante AWS RAM. Cree un enlace de recursos locales para la tabla compartida a través de Lake Formation y cree una base de datos local.
- A continuación, debe otorgar permisos para Estudio SageMaker función de ejecución en la cuenta B para acceder a la tabla compartida y el vínculo de recursos que creó en el paso anterior.
- En Data Wrangler, use la base de datos local y el vínculo de recursos que creó en la Cuenta B para consultar el conjunto de datos mediante el conector Athena y realizar transformaciones de características.
Configuración de lago de datos usando formación de lago
Para comenzar, cree un lago de datos central en la Cuenta A. Puede controlar el acceso al lago de datos con políticas y permisos, y definir permisos a nivel de base de datos, tabla o columna.
Para iniciar el proceso de configuración, descargar el archivo .csv del conjunto de datos titanic y cárguelo en su depósito de S3. Después de cargar el archivo, debe registrar el depósito en Lake Formation. Los permisos de Lake Formation permiten un control de acceso detallado para los datos de su lago de datos.
Nota: Si el conjunto de datos titánico ya ha sido catalogado, puede omitir el paso de registro a continuación.
Registre su almacén de datos S3 en Lake Formation
Para registrar su almacén de datos, complete los siguientes pasos:
- En la cuenta A, inicie sesión en la consola de Lake Formation.
Si es la primera vez que accede a Lake Formation, debe agregar administradores a la cuenta.
- En el panel de navegación, debajo Permisos, escoger Administradores y creadores de bases de datos.
- under Administradores de lago de datos, escoger Grant.
Ahora agregas Gestión de identidades y accesos de AWS (IAM) usuarios o roles específicos de la cuenta A como administradores de lago de datos.
- under Gestionar administradores de lago de datos, Para Usuarios y roles de IAM, elija su usuario o rol (para esta publicación, usamos
user-a
).
Este también puede ser el rol de administrador de IAM de la cuenta A.
- Elige Guardar.
- Asegúrese de que el
IAMAllowedPrincipals
el grupo no aparece en ambos Administradores de lago de datos y Base de datos creadores.
Para obtener más información sobre la configuración de seguridad, consulte Cambio de la configuración de seguridad predeterminada para su lago de datos.
A continuación, debe registrar el depósito S3 como ubicación del lago de datos.
- En la consola de Lake Formation, debajo Registrarse e ingerir, escoger Ubicaciones de data lake.
Esta página debe mostrar una lista de depósitos S3 que están marcados como recursos de almacenamiento de lago de datos para Lake Formation. Un solo depósito de S3 puede actuar como repositorio para muchos conjuntos de datos, o puede utilizar depósitos separados para fuentes de datos independientes.
- Elige Registrar ubicación.
- Ruta de Amazon S3, ingrese la ruta de su balde.
- Rol de IAMescoger
AWSServiceRoleForLakeFormationDataAccess
. - Elige Registrar ubicación.
Después de este paso, debería poder ver su cubo S3 debajo Datos lago ..
Crea una base de datos
Este paso es opcional. Omita este paso si el conjunto de datos titánico ya se ha rastreado y catalogado. La base de datos y la tabla para el conjunto de datos deben preexistir dentro del lago de datos.
Complete los siguientes pasos para registrar la base de datos si no existe:
- En la consola de Lake Formation, debajo Catálogo de datos, escoger Bases de datos.
- Elige Crear base de datos.
- Detalles de la base, seleccione Base de datos.
- Nombre, ingrese un nombre (por ejemplo,
titanic
). - Destino, ingrese la ruta del depósito del lago de datos S3.
- Deseleccionar Use solo controles de acceso de IAM para las tablas de esta base de datos.
- Elige Crear base de datos.
- under Acciones, escoger Permisos.
- Elige Ver permisos.
- Asegúrese de que el
IAMAllowedPrincipals
el grupo no aparece en la lista.
Si aparece en la lista, asegúrese de revocar el acceso a este grupo.
Ahora debería poder ver la base de datos creada en la lista Bases de datos.
También debería poder ver la tabla en la consola de Lake Formation, debajo Datos catalogar en el panel de navegación, debajo Mesas. Para esta demostración, supongamos que el nombre de la tabla es titanic_datalake_bucket_as
como se muestra a continuación.
Otorgar permisos de tabla a la cuenta A
Para otorgar permisos de tabla a la cuenta A, complete los siguientes pasos:
- Inicie sesión en la consola de Lake Formation con la cuenta A.
- under Catálogo de datos, escoger Mesas.
- Seleccione la tabla recién creada.
- En Acciones menú, debajo Permisos, escoger Grant.
- Seleccione Mi Cuenta.
- Usuarios y roles de IAM, elija los usuarios o roles a los que desea otorgar acceso (para esta publicación, elegimos
user-x
, un usuario diferente dentro de la Cuenta A).
También puede establecer un filtro de columna.
- Columnas, escoger Incluir columnas.
- Incluir columnas, elija las primeras cinco columnas de la
titanic_datalake_bucket_as
mesa. - Permisos de mesa, seleccione Seleccione.
- Elija Grant.
- Aún en la Cuenta A, cambie a la consola Athena.
- Ejecute una vista previa de la tabla.
Debería poder ver las primeras cinco columnas del titanic_datalake_bucket_as
tabla según los permisos concedidos en los pasos anteriores.
Hemos validado el acceso local a la tabla del lago de datos dentro de la Cuenta A a través de este paso de Athena. A continuación, concedamos acceso a una cuenta externa, en nuestro caso, la Cuenta B para la misma tabla.
Otorgar permisos de tabla a la cuenta B
Esta cuenta externa es la cuenta que ejecuta Data Wrangler. Para otorgar permisos de mesa, complete los siguientes pasos:
- Manteniéndose dentro de la cuenta A, en el Acciones menú, debajo Permisos, escoger Grant.
- Seleccione Cuenta externa.
- ID de cuenta de AWS, ingrese el ID de cuenta de la cuenta B.
- Elija las mismas cinco primeras columnas de la tabla.
- Permisos de mesa y Permisos concedidos, seleccione Seleccione.
- Elige Grant.
Debe revocar el permiso Super del IAMAllowedPrincipals
grupo para esta tabla antes de otorgarle acceso externo. Puedes hacer esto en el Acciones menú bajo Ver permisos, A continuación, elija IAMApermitidoPrincipales y elige Revocar.
- En la consola de AWS RAM, todavía en la cuenta A, en Compartido por mi, escoger Recursos compartidos.
Podemos encontrar una entrada de Formación del lago en esta página.
- Cambie a la cuenta B.
- En la consola de AWS RAM, en Comparte conmigo, ve una invitación de Lake Formation en Account A.
- Acepta la invitación eligiendo Aceptar recurso compartido.
Después de aceptarlo, en el Recursos compartidos página, debería ver la entrada compartida Lake Formation, que encapsula el catálogo, la base de datos y la información de la tabla.
En la consola de Lake Formation en la cuenta B, puede encontrar la tabla compartida propiedad de la cuenta A en el Mesas página. Si no lo ve, puede actualizar su pantalla y el recurso debería aparecer en breve.
Para usar esta tabla compartida dentro de la Cuenta B, debe crear una base de datos local para la Cuenta B en Lake Formation.
- En la consola de Lake Formation, debajo Bases de datos, escoger Crea bases de datos.
- Nombra la base de datos
local_db
.
A continuación, para la tabla titánica compartida en Lake Formation, debe crear un enlace de recursos. Los vínculos de recursos son objetos de Data Catalog que se vinculan a tablas y bases de datos de metadatos, generalmente a tablas y bases de datos compartidas de otras cuentas de AWS. Ayudan a permitir el acceso entre cuentas a los datos del lago de datos.
- En la página de detalles de la tabla, en el Acciones menú, seleccione Crear enlace de recursos.
- Nombre del enlace de recurso, ingrese un nombre (por ejemplo,
titanic_local
). - Base de datos, elija la base de datos local que creó anteriormente.
- Los valores para Mesa compartida y Base de datos de la tabla compartida debe coincidir con los de la cuenta A y se debe completar automáticamente.
- ID de propietario de la tabla compartida, elija el ID de cuenta de la cuenta A.
- Elige Crear.
- En el panel de navegación, debajo Catálogo de datos, escoger Ajustes.
- Asegúrese Usar solo el control de acceso de IAM está deshabilitado para nuevas bases de datos y tablas.
Esto es para asegurarse de que Lake Formation administre los permisos de la base de datos y la tabla.
- Cambie a la consola de SageMaker.
- En el Panel de control de Studio, en Resumen de Studio, copie el ARN del rol de ejecución.
- Debe otorgar permisos a este rol para acceder a la base de datos local, la tabla compartida y la tabla local que tenía anteriormente en la formación del lago de la cuenta B.
- También debe adjuntar la siguiente política personalizada a este rol. Esta política permite que Studio acceda a los datos a través de Lake Formation y permite que la cuenta B obtenga particiones de datos para consultar el
titanic
conjunto de datos de las tablas creadas:
- Vuelva a la consola de Lake Formation.
- Aquí, necesitamos otorgar permisos para que la función de ejecución de SageMaker acceda a la
titanic_datalake_bucket_as
mesa.
Esta es la tabla que compartió con la cuenta B desde la cuenta A a través de AWS RAM.
- En la cuenta B, en la página de detalles de la tabla, en el Acciones menú, debajo Permisos, escoger Grant.
- Otorgue al rol acceso a la tabla y cinco columnas.
- Finalmente, otorgue permisos al rol de ejecución de SageMaker para acceder a la tabla titánica local en la Cuenta B.
Acceso a datos entre cuentas en Studio
En esta etapa final, debe estar listo para validar los pasos implementados hasta ahora probando esto en la interfaz de Data Wrangler.
- En Importa pestaña, para Importar fechas, escoger Atenea amazónica como su fuente de datos.
- Catálogo de datos, escoger Catálogo de datos de AWS.
- Base de datos, elija la base de datos local que creó en la cuenta B (
local_db
).
Debería poder ver la tabla local (titanic_local
) en el panel derecho.
- Ejecute una consulta de Athena como se muestra en la siguiente captura de pantalla para ver las columnas seleccionadas del
titanic
conjunto de datos que le dio al rol de ejecución de SageMaker en Lake Formation (Cuenta B). - Elige Importar conjunto de datos.
- Nombre del conjunto de datos, ingrese un nombre (por ejemplo,
titanic-dataset
). - Elige Añada.
Esto importa el conjunto de datos titánico, y debería poder ver la página de flujo de datos con los bloques visuales en el Preparar .
Conclusión
En esta publicación, demostramos cómo habilitar el acceso entre cuentas para Data Wrangler usando Lake Formation y AWS RAM. Siguiendo esta metodología, las organizaciones pueden permitir que múltiples equipos de ingeniería y ciencia de datos accedan a los datos de un lago de datos central y creen canalizaciones de características y recetas de transformación de manera consistente. Para obtener más información sobre Data Wrangler, consulte Presentamos Amazon SageMaker Data Wrangler, una interfaz visual para preparar datos para el aprendizaje automático y Análisis exploratorio de datos, ingeniería de funciones y puesta en funcionamiento de su flujo de datos en su canal de ML con Amazon SageMaker Data Wrangler.
Prueba Data Wrangler y comparte tus comentarios y preguntas en la sección de comentarios.
Acerca de los autores
Rizwan Gilani es ingeniero de desarrollo de software en Amazon SageMaker. Su pasión radica en hacer que el aprendizaje automático sea más interactivo y accesible a gran escala. Antes de eso, trabajó en Amazon Alexa como parte del equipo central que lanzó Alexa Communications.
phi nguyen es un arquitecto de soluciones en AWS que ayuda a los clientes en su viaje a la nube con un enfoque especial en el lago de datos, análisis, tecnologías semánticas y aprendizaje automático. En su tiempo libre, puede encontrarlo yendo en bicicleta al trabajo, entrenando al equipo de fútbol de su hijo o disfrutando de un paseo por la naturaleza con su familia.
Arunprasath Shankar es un arquitecto de soluciones especializado en inteligencia artificial y aprendizaje automático (AI / ML) en AWS, que ayuda a los clientes globales a escalar sus soluciones de inteligencia artificial de manera efectiva y eficiente en la nube. En su tiempo libre, a Arun le gusta ver películas de ciencia ficción y escuchar música clásica.
- de la máquina
- Mi Cuenta
- la columna Acción
- Admin
- AI
- Alexa
- Amazon
- amazon alexa
- Amazon SageMaker
- análisis
- Analytics
- aplicaciones
- arquitectura
- inteligencia artificial
- Inteligencia Artificial y Aprendizaje Automático
- AWS
- build
- Soluciones
- Columna
- comentarios
- Comunicaciónes
- Clientes
- datos
- acceso a los datos
- análisis de los datos
- Lago de datos
- Ciencia de los datos
- Base de datos
- bases de datos
- Desarrollo
- ingeniero
- Ingeniería
- certificados
- ejecución
- exploración
- familia
- Feature
- Caracteristicas
- Nombre
- primer vez
- de tus señales
- Focus
- gif
- Buscar
- gobierno
- Grupo procesos
- Cómo
- Como Hacer
- HTTPS
- AMI
- Identidad
- Incluye
- información
- Intelligence
- interactivo
- IT
- aprendizaje
- Nivel
- LINK
- Lista
- Escucha Activa
- local
- Ubicación
- máquina de aprendizaje
- Realizar
- Match
- ML
- Películas
- Música
- Navegación
- Otro
- propietario
- políticas
- política
- Vista previa
- RAM
- Recetas
- Registro
- Recurso
- Recursos
- Ejecutar
- correr
- sabio
- Escala
- Ciencia:
- los científicos
- Pantalla
- EN LINEA
- seleccionado
- semántica
- set
- Compartir
- compartido
- Acciones
- sencillos
- So
- Fútbol
- Software
- Desarrollo de software ad-hoc
- Soluciones
- Etapa
- fundó
- Posicionamiento
- STORAGE
- tienda
- Switch
- Tecnologías
- Pruebas
- equipo
- us
- usuarios
- Ver
- visualización
- dentro de
- Actividades:
- flujo de trabajo