Logotipo de Zephyrnet

Acelere el tiempo de obtención de información con Amazon SageMaker Data Wrangler y el poder de Apache Hive

Fecha:

Wrangler de datos de Amazon SageMaker reduce el tiempo que lleva agregar y preparar datos para el aprendizaje automático (ML) de semanas a minutos en Amazon SageMaker Studio. Data Wrangler le permite acceder a datos de una amplia variedad de fuentes populares (Amazon S3, Atenea amazónicaDesplazamiento al rojo de Amazon, EMR de Amazon y Snowflake) y más de 40 otras fuentes de terceros. A partir de hoy, puedes conectarte a EMR de Amazon Hive como un motor de consulta de big data para incorporar grandes conjuntos de datos para ML.

Agregar y preparar grandes cantidades de datos es una parte fundamental del flujo de trabajo de ML. Los científicos e ingenieros de datos utilizan Apache Spark, Apache Hive y Presto que se ejecutan en Amazon EMR para el procesamiento de datos a gran escala. Esta publicación de blog explicará cómo los profesionales de datos pueden usar la interfaz visual de SageMaker Data Wrangler para ubicar y conectarse a clústeres de Amazon EMR existentes con puntos finales de Hive. Para prepararse para el modelado o la generación de informes, pueden analizar visualmente la base de datos, las tablas, el esquema y crear consultas de Hive para crear el conjunto de datos de ML. Luego, pueden perfilar rápidamente los datos utilizando la interfaz visual de Data Wrangler para evaluar la calidad de los datos, detectar anomalías y datos faltantes o incorrectos, y obtener consejos sobre cómo lidiar con estos problemas. Pueden aprovechar los análisis integrados más populares y basados ​​en ML y más de 300 transformaciones integradas compatibles con Spark para analizar, limpiar y diseñar funciones sin escribir una sola línea de código. Finalmente, también pueden entrenar e implementar modelos con Piloto automático SageMaker, programe trabajos u operacionalice la preparación de datos en SageMaker Pipeline desde la interfaz visual de Data Wrangler.

Resumen de la solución

Con las configuraciones de SageMaker Studio, los profesionales de datos pueden identificar y conectarse rápidamente a los clústeres de EMR existentes. Además, los profesionales de datos pueden descubrir clústeres de EMR desde SageMaker Studio usando plantillas predefinidas bajo demanda en unos pocos clics. Los clientes pueden usar la libreta universal SageMaker Studio y escribir código en Apache SparkColmenapresto or PySpark para realizar la preparación de datos a escala. Sin embargo, no todos los profesionales de datos están familiarizados con la escritura de código Spark para preparar datos porque implica una curva de aprendizaje pronunciada. Ahora pueden conectarse de forma rápida y sencilla a Amazon EMR sin escribir una sola línea de código, gracias a que Amazon EMR es una fuente de datos para Amazon SageMaker Data Wrangler.

El siguiente diagrama representa los diferentes componentes utilizados en esta solución.

Demostramos dos opciones de autenticación que se pueden usar para establecer una conexión con el clúster de EMR. Para cada opción, implementamos una pila única de Formación en la nube de AWS plantillas.

La plantilla de CloudFormation realiza las siguientes acciones cuando se selecciona cada opción:

  • Crea un dominio de Studio en modo de solo VPC, junto con un perfil de usuario denominado studio-user.
  • Crea componentes básicos, incluidos la VPC, los puntos finales, las subredes, los grupos de seguridad, el clúster de EMR y otros recursos necesarios para ejecutar correctamente los ejemplos.
  • Para el clúster de EMR, conecta AWS Glue Data Catalog como metastore para EMR Hive y Presto, crea una tabla de Hive en EMR y la llena con datos de un Conjunto de datos del aeropuerto de EE. UU..
  • Para la plantilla LDAP CloudFormation, crea un Nube informática elástica de Amazon (Amazon EC2) para alojar el servidor LDAP para autenticar al usuario LDAP de Hive y Presto.

Opción 1: Protocolo de directorio de acceso ligero 

Para la plantilla de CloudFormation de autenticación LDAP, aprovisionamos una instancia de Amazon EC2 con un servidor LDAP y configuramos el clúster de EMR para usar este servidor para la autenticación. Esto está habilitado para TLS.

Opción 2: sin autenticación

En la plantilla de CloudFormation de autenticación sin autenticación, usamos un clúster de EMR estándar sin autenticación habilitada.

Implemente los recursos con AWS CloudFormation

Complete los siguientes pasos para implementar el entorno:

  1. Inicia sesión en el Consola de administración de AWS como una Gestión de identidades y accesos de AWS (IAM) usuario, preferiblemente un usuario administrador.
  2. Elige Pila de lanzamiento para iniciar la plantilla de CloudFormation para el escenario de autenticación adecuado. Asegúrese de que la región utilizada para implementar la pila de CloudFormation no tenga un dominio de Studio existente. Si ya tiene un dominio de Studio en una región, puede elegir una región diferente.
    LDAP
    Sin autenticación
  3. Elige Siguiente.
  4. Nombre de pila, ingrese un nombre para la pila (por ejemplo, dw-emr-hive-blog).
  5. Deje los demás valores por defecto.
  6. Para continuar, elija Siguiente desde la página de detalles de la pila y las opciones de la pila.
    La pila LDAP utiliza las siguientes credenciales.
    •  nombre de usuario: david
    •  contraseña:  welcome123
  7. En la página de revisión, seleccione la casilla de verificación para confirmar que AWS CloudFormation podría crear recursos.
  8. Elige Crear pila. Espere hasta que el estado de la pila cambie de CREATE_IN_PROGRESS a CREATE_COMPLETE. El proceso suele tardar entre 10 y 15 minutos.

Configure Amazon EMR como fuente de datos en Data Wrangler

En esta sección, cubrimos la conexión al clúster de Amazon EMR existente creado a través de la plantilla de CloudFormation como fuente de datos en Data Wrangler.

Crea un nuevo flujo de datos

Para crear su flujo de datos, complete los siguientes pasos:

  1. En la consola de SageMaker, haga clic en dominios, luego haz clic en EstudioDominio creado ejecutando sobre la plantilla de CloudFormation.
  2. Seleccione usuario de estudio perfil de usuario e inicie Studio.
  3. Elige estudio abierto.
  4. En la consola Studio Home, elija Importe y prepare datos visualmente. Alternativamente, en el Archive menú desplegable, elija Nuevo, A continuación, elija Flujo de Data Wrangler.
  5. La creación de un nuevo flujo puede tardar unos minutos. Una vez creado el flujo, verá el Importar fechas .
  6. Agregue Amazon EMR como fuente de datos en Data Wrangler. Sobre el Añadir fuente de datos menú, seleccione EMR de Amazon.

Puede explorar todos los clústeres de EMR que su rol de ejecución de Studio tiene permisos para ver. Tiene dos opciones para conectarse a un clúster; uno es a través de la interfaz de usuario interactiva, y el otro es primero crear un secreto usando AWS Secrets Manager con la URL de JDBC, incluida la información del clúster de EMR, y luego proporcione el ARN secreto de AWS almacenado en la interfaz de usuario para conectarse a Hive. En este blog, seguimos la primera opción.

  1. Seleccione uno de los siguientes clústeres que desee utilizar. Haga clic en Siguientey seleccione puntos finales.
  2. Seleccione Colmena, conéctese a Amazon EMR, cree un nombre para identificar su conexión y haga clic en Siguiente.
  3. Seleccione el tipo de autenticación, ya sea Protocolo ligero de acceso a directorios (LDAP) or Sin autenticacion.

Para el Protocolo ligero de acceso a directorios (LDAP), seleccione la opción y haga clic en A continuación, inicie sesión en el clústerr, luego proporcione el nombre de usuario y la contraseña para autenticarse y haga clic en Conectar.

Para Sin autenticación, se conectará a EMR Hive sin proporcionar credenciales de usuario dentro de VPC. Ingrese a la página del explorador SQL de Data Wrangler para EMR.

  1. Una vez conectado, puede ver de forma interactiva un árbol de base de datos y una vista previa o esquema de tabla. También puede consultar, explorar y visualizar datos de EMR. Para la vista previa, verá un límite de 100 registros de forma predeterminada. Una vez que proporcione una instrucción SQL en el cuadro del editor de consultas y haga clic en el Ejecutar , la consulta se ejecutará en el motor Hive de EMR para obtener una vista previa de los datos.

El Cancelar consulta El botón permite cancelar las consultas en curso si tardan un tiempo inusualmente largo.

  1. El último paso es importar. Una vez que esté listo con los datos consultados, tiene opciones para actualizar la configuración de muestreo para la selección de datos según el tipo de muestreo (FirstK, Random o Stratified) y el tamaño de muestreo para importar datos a Data Wrangler.

Haga Clic en Importa. Se cargará la página de preparación, lo que le permitirá agregar varias transformaciones y análisis esenciales al conjunto de datos.

  1. Navegue hasta Flujo de datos desde la pantalla superior y agregue más pasos al flujo según sea necesario para transformaciones y análisis. Puedes ejecutar un informe de conocimiento de datos para identificar problemas de calidad de datos y obtener recomendaciones para solucionar esos problemas. Veamos algunos ejemplos de transformaciones.
  2. En Flujo de datos vista, debería ver que estamos usando EMR como fuente de datos usando el conector de Hive.
  3. Hagamos clic en el + botón a la derecha de Tipos de datos y seleccionar Agregar transformación. Cuando lo hagas, volverás a la Datos ver.

Exploremos los datos. Vemos que tiene múltiples características como  código_iata, aeropuerto, ciudad, estado, país, latitudy longitud. Podemos ver que todo el conjunto de datos se basa en un país, que es EE. UU., y faltan valores en latitud y longitud. Los datos faltantes pueden causar sesgos en la estimación de los parámetros y pueden reducir la representatividad de las muestras, por lo que debemos realizar algunas imputación y manejar los valores faltantes en nuestro conjunto de datos.

  1. Hagamos clic en el Añadir paso botón en la barra de navegación a la derecha. Seleccione Falta el mango. Las configuraciones se pueden ver en las siguientes capturas de pantalla.

under Transformar, selecciona Imputar. Seleccione la pestaña Tipo de columna as Numérico y Columna de entrada nombres latitud y longitud. Estaremos imputando los valores que faltan utilizando un valor mediano aproximado.

Primero haga clic en Vista previa para ver el valor faltante y luego haga clic en actualizar para agregar la transformación.

  1. Veamos ahora otro ejemplo de transformación. Al crear un modelo de ML, las columnas se eliminan si son redundantes o no ayudan a su modelo. La forma más común de eliminar una columna es soltarla. En nuestro conjunto de datos, la función país se puede eliminar ya que el conjunto de datos es específicamente para datos de aeropuertos de EE. UU. Para administrar las columnas, haga clic en el Agregar paso en la barra de navegación a la derecha y seleccione Administrar columnas. Las configuraciones se pueden ver en las siguientes capturas de pantalla. Por debajo Transformar, seleccione Columna de caída, Y debajo Columnas para soltar, seleccione país.

  2. Haga clic en Vista previa y luego Actualizar para soltar la columna.
  3. Feature Store es un repositorio para almacenar, compartir y administrar funciones para modelos ML. Hagamos clic en el + botón a la derecha de Columna de caída. Seleccione Exportar a y elige Tienda de funciones de SageMaker (a través del cuaderno Jupyter).
  4. Seleccionando Tienda de funciones de SageMaker como destino, puede guardar las funciones en un grupo de funciones existente o crear uno nuevo.

Ahora hemos creado funciones con Data Wrangler y las hemos almacenado fácilmente en Feature Store. Mostramos un flujo de trabajo de ejemplo para la ingeniería de funciones en la interfaz de usuario de Data Wrangler. Luego, guardamos esas funciones en Feature Store directamente desde Data Wrangler creando un nuevo grupo de funciones. Finalmente, ejecutamos un trabajo de procesamiento para ingerir esas funciones en Feature Store. Data Wrangler y Feature Store juntos nos ayudaron a crear procesos automáticos y repetibles para agilizar nuestras tareas de preparación de datos con una codificación mínima requerida. Data Wrangler también nos brinda flexibilidad para automatizar el mismo flujo de preparación de datos usando trabajos programados. También podemos automáticamente entrenar e implementar modelos con SageMaker Autopilot desde la interfaz visual de Data Wrangler, o cree una canalización de capacitación o ingeniería de funciones con SageMaker Pipelines (a través de Jupyter Notebook) e implemente en el punto final de inferencia con la canalización de inferencia de SageMaker (a través de Jupyter Notebook).

Limpiar

Si su trabajo con Data Wrangler está completo, los siguientes pasos lo ayudarán a eliminar los recursos creados para evitar incurrir en tarifas adicionales.

  1. Cierre SageMaker Studio.

Desde SageMaker Studio, cierre todas las pestañas y luego seleccione Archive luego Cerrar. Una vez que se le solicite, seleccione Apagar todo.



El apagado puede tardar unos minutos según el tipo de instancia. Asegúrese de que todas las aplicaciones asociadas con el perfil de usuario se hayan eliminado. Si no se eliminaron, elimine manualmente la aplicación asociada en el perfil de usuario.

  1. Vacíe los depósitos de S3 que se crearon a partir del lanzamiento de CloudFormation.

Abra la página de Amazon S3 buscando S3 en la búsqueda de la consola de AWS. Vacíe los depósitos de S3 que se crearon al aprovisionar clústeres. El balde seria de formato dw-emr-hive-blog-.

  1. Elimine el EFS de SageMaker Studio.

Abra la página de EFS buscando EFS en la búsqueda de la consola de AWS.

Localice el sistema de archivos que creó SageMaker. Puede confirmarlo haciendo clic en el ID del sistema de archivos y confirmando la etiqueta ManagedByAmazonSageMakerResource en Etiquetas .

  1. Elimine las pilas de CloudFormation. Abra CloudFormation buscando y abriendo el servicio CloudFormation desde la consola de AWS.

Seleccione la plantilla que comienza con dw- como se muestra en la siguiente pantalla y elimine la pila como se muestra al hacer clic en el Borrar del botón.

Esto es de esperar y volveremos a esto y lo limpiaremos en los pasos subsiguientes.

  1. Elimine la VPC después de que la pila de CloudFormation no se complete. Primero abra la VPC desde la consola de AWS.
  2. A continuación, identifique la VPC que creó SageMaker Studio CloudFormation, titulada dw-emr-y luego siga las indicaciones para eliminar la VPC.
  3. Elimina la pila de CloudFormation.

Vuelva a CloudFormation y vuelva a intentar la eliminación de la pila para dw-emr-hive-blog.

¡Completo! Todos los recursos proporcionados por la plantilla de CloudFormation que se describen en esta publicación de blog ahora se eliminarán de su cuenta.

Conclusión

En esta publicación, analizamos cómo configurar Amazon EMR como fuente de datos en Data Wrangler, cómo transformar y analizar un conjunto de datos y cómo exportar los resultados a un flujo de datos para usarlos en un cuaderno Jupyter. Después de visualizar nuestro conjunto de datos utilizando las funciones analíticas integradas de Data Wrangler, mejoramos aún más nuestro flujo de datos. El hecho de que hayamos creado una canalización de preparación de datos sin escribir una sola línea de código es significativo.

Para comenzar con Data Wrangler, consulte Prepare datos de AA con Amazon SageMaker Data Wrangler y ver la información más reciente sobre el Página de producto de Data Wrangler  y Documentos técnicos de AWS.


Acerca de los autores

Ajjay Govindaram es arquitecto sénior de soluciones en AWS. Trabaja con clientes estratégicos que usan AI/ML para resolver problemas comerciales complejos. Su experiencia radica en brindar dirección técnica y asistencia en el diseño para implementaciones de aplicaciones de IA/ML de modestas a grandes escalas. Su conocimiento abarca desde arquitectura de aplicaciones hasta big data, análisis y aprendizaje automático. Le gusta escuchar música mientras descansa, experimentar el aire libre y pasar tiempo con sus seres queridos.

Isha Dua es un Arquitecto de Soluciones Sénior con sede en el Área de la Bahía de San Francisco. Ayuda a los clientes empresariales de AWS a crecer mediante la comprensión de sus objetivos y desafíos, y los guía sobre cómo pueden diseñar sus aplicaciones de forma nativa en la nube al tiempo que garantizan la resiliencia y la escalabilidad. Le apasionan las tecnologías de aprendizaje automático y la sostenibilidad ambiental.

varun mehta es arquitecto de soluciones en AWS. Le apasiona ayudar a los clientes a crear soluciones de buena arquitectura a escala empresarial en la nube de AWS. Trabaja con clientes estratégicos que usan AI/ML para resolver problemas comerciales complejos.

punto_img

Información más reciente

punto_img