Logotipo de Zephyrnet

Prepare datos de Amazon EMR para el aprendizaje automático con Amazon SageMaker Data Wrangler

Fecha:

La preparación de datos es un componente principal de las canalizaciones de aprendizaje automático (ML). De hecho, se estima que los profesionales de datos dedican alrededor del 80 por ciento de su tiempo a la preparación de datos. En este mercado competitivo intensivo, los equipos quieren analizar datos y extraer información más significativa rápidamente. Los clientes están adoptando formas más eficientes y visuales para construir sistemas de procesamiento de datos.

Wrangler de datos de Amazon SageMaker simplifica la preparación de datos y el proceso de ingeniería de funciones, reduciendo el tiempo que lleva de semanas a minutos al proporcionar una interfaz visual única para que los científicos de datos seleccionen, limpien datos, creen funciones y automaticen la preparación de datos en flujos de trabajo de ML sin escribir ningún código. Puede importar datos de varias fuentes de datos, como Servicio de almacenamiento simple de Amazon (Amazon S3), Atenea amazónica, Desplazamiento al rojo de Amazony copo de nieve. Ahora también puedes usar EMR de Amazon como fuente de datos en Data Wrangler para preparar fácilmente datos para ML.

Analizar, transformar y preparar grandes cantidades de datos es un paso fundamental de cualquier flujo de trabajo de ciencia de datos y aprendizaje automático. Los profesionales de datos, como los científicos de datos, quieren aprovechar el poder de Apache Spark, Colmenay presto se ejecuta en Amazon EMR para una preparación rápida de datos, pero la curva de aprendizaje es empinada. Nuestros clientes querían la capacidad de conectarse a Amazon EMR para ejecutar consultas SQL ad hoc en Hive o Presto para consultar datos en el metastore interno o externo (por ejemplo, AWS Glue Data Catalog) y preparar datos con unos pocos clics.

Este artículo de blog analizará cómo los clientes ahora pueden encontrar clústeres de Amazon EMR existentes y conectarse a ellos mediante una experiencia visual en SageMaker Data Wrangler. Pueden inspeccionar visualmente la base de datos, las tablas, el esquema y las consultas de Presto para prepararse para el modelado o la generación de informes. Luego, pueden perfilar rápidamente los datos utilizando una interfaz visual para evaluar la calidad de los datos, identificar anomalías o datos erróneos o faltantes, y recibir información y recomendaciones sobre cómo abordar estos problemas. Además, pueden analizar, limpiar y diseñar funciones con la ayuda de más de una docena de análisis integrados adicionales y más de 300 transformaciones integradas adicionales respaldadas por Spark sin escribir una sola línea de código.

Resumen de la solución 

Los profesionales de datos pueden encontrar y conectarse rápidamente a los clústeres de EMR existentes mediante las configuraciones de SageMaker Studio. Además, los profesionales de datos pueden terminar los clústeres de EMR con solo unos pocos clics desde SageMaker Studio con plantillas predefinidas y creación a pedido de clústeres de EMR. Con la ayuda de estas herramientas, los clientes pueden saltar directamente a la computadora portátil universal SageMaker Studio y escribir código en Apache Spark, Hive, Presto o PySpark para realizar la preparación de datos a escala. Debido a la pronunciada curva de aprendizaje para crear código Spark para preparar datos, no todos los profesionales de datos se sienten cómodos con este procedimiento. Con Amazon EMR como fuente de datos para Amazon SageMaker Data Wrangler, ahora puede conectarse rápida y fácilmente a Amazon EMR sin escribir una sola línea de código.

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 completa con datos de un conjunto de datos de un aeropuerto de EE. UU.
  • Para la plantilla LDAP CloudFormation, crea un Nube informática elástica de Amazon (Amazon EC2) instancia 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 es TLS habilitado.

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 Administración de acceso e identidad 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.
    • Pila de lanzamiento de LDAP
    • Sin pila de inicio de autenticación
  3. Elige Siguiente.
  4. Nombre de pila, ingrese un nombre para la pila (por ejemplo, dw-emr-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.

Nota: si desea probar varias pilas, siga los pasos de la sección Limpiar. Recuerda que debes eliminar el dominio de SageMaker Studio antes de que la siguiente pila pueda lanzarse con éxito.

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, elija Estudio Amazon SageMaker en el panel de navegación.
  2. Elige estudio abierto.
  3. En el lanzador, elija Nuevo flujo de datos. Alternativamente, en el Archive menú desplegable, elija Nuevo, luego elija el flujo de Data Wrangler.
  4. La creación de un nuevo flujo puede tardar unos minutos. Una vez creado el flujo, verá el Importar fechas .

Agregar Amazon EMR como fuente de datos en Data Wrangler

En el menú Agregar origen de datos, elija 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 Presto. En este blog, seguimos la primera opción. Seleccione uno de los siguientes clústeres que desee utilizar. Haga clic en Siguientey seleccione criterios de valoración.

Seleccione Presto, conectar a Amazon REM, cree un nombre para identificar su conexión y haga clic en Siguiente.

Seleccione Autenticación escriba, ya sea LDAP o Sin autenticación, y haga clic en Contacto.

  • Para el Protocolo ligero de acceso a directorios (LDAP), proporcione el nombre de usuario y la contraseña para la autenticación.

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

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. Para consultas personalizadas, puede proporcionar declaraciones SQL en el cuadro del editor de consultas y una vez que haga clic en el Ejecutar botón, la consulta se ejecutará en el motor Presto de EMR.

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

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.

Navegue a DataFlow desde la pantalla superior y agregue más pasos al flujo según sea necesario para transformaciones y análisis. Puede ejecutar un informe de información de datos para identificar problemas de calidad de datos y obtener recomendaciones para solucionar esos problemas. Veamos algunos ejemplos de transformaciones.

Vaya a su flujo de datos y esta es la pantalla que debería ver. Nos muestra que estamos usando EMR como fuente de datos usando el conector Presto.

Hagamos clic en el botón + a la derecha de Tipos de datos y seleccionemos Agregar transformación. Al hacerlo, debería aparecer la siguiente pantalla:

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.

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. Por debajo Transformar, selecciona Imputar. Seleccione el tipo de columna como Numérico y nombres de columnas latitud y Longitud. Estaremos imputando los valores que faltan utilizando un valor medio aproximado. Obtenga una vista previa y agregue la transformación.

Veamos ahora otro ejemplo de transformación. Al crear un modelo de aprendizaje automático, 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. Veamos cómo podemos administrar las columnas. Hagamos clic en el Agregar paso botón en la barra de navegación a la derecha. 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.

Puede continuar agregando pasos según las diferentes transformaciones requeridas para su conjunto de datos. Volvamos a nuestro flujo de datos. Ahora verá dos bloques más que muestran las transformaciones que realizamos. En nuestro escenario, se puede ver Imputar y Columna de caída.

Los profesionales de ML pasan mucho tiempo creando código de ingeniería de funciones, aplicándolo a sus conjuntos de datos iniciales, capacitando modelos en los conjuntos de datos diseñados y evaluando la precisión del modelo. Dada la naturaleza experimental de este trabajo, incluso el proyecto más pequeño dará lugar a múltiples iteraciones. El mismo código de ingeniería de características a menudo se ejecuta una y otra vez, desperdiciando tiempo y recursos informáticos al repetir las mismas operaciones. En organizaciones grandes, esto puede causar una pérdida de productividad aún mayor porque diferentes equipos a menudo ejecutan trabajos idénticos o incluso escriben código de ingeniería de funciones duplicado porque no tienen conocimiento del trabajo anterior. Para evitar el reprocesamiento de funciones, ahora exportaremos nuestras funciones transformadas a Tienda de funciones de Amazon. Hagamos clic en el + botón a la derecha de Columna de caída. Seleccione Exportar a y elige Tienda de características de Sagemaker (a través de Jupyter Notebook).

Puede exportar fácilmente sus características generadas a Tienda de funciones de SageMaker seleccionándolo 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 automatizar la capacitación o la ingeniería de características con SageMaker Pipelines (a través de Jupyter Notebook) e implementar en el punto final de inferencia con SageMaker inference pipeline (a través de Jupyter Notebook).

Limpiar

Si su trabajo con Data Wrangler está completo, seleccione la pila creada desde la página de CloudFormation y elimínela para evitar incurrir en tarifas adicionales.

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 Wranglery ver la información más reciente sobre el Página de producto de Data Wrangler.


Sobre 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. Ella 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 manera nativa en la nube mientras se asegura de que sean resistentes y escalables. Le apasionan las tecnologías de aprendizaje automático y la sostenibilidad ambiental.

rui jiang es ingeniero de desarrollo de software en AWS con sede en el área de la ciudad de Nueva York. Es miembro del equipo de SageMaker Data Wrangler que ayuda a desarrollar soluciones de ingeniería para que los clientes empresariales de AWS satisfagan sus necesidades comerciales. Fuera del trabajo, le gusta explorar nuevos alimentos, hacer ejercicio, actividades al aire libre y viajar.

punto_img

Información más reciente

punto_img