Tutorial: Cree su primera carga de trabajo de transmisión con AWS Glue Studio
En este tutorial, aprenderá a crear un trabajo de transmisión con AWS Glue Studio. AWS Glue Studio es una interfaz visual para crear trabajos de AWS Glue.
Puede crear trabajos de extracción, transformación y carga (ETL) de transmisión que se ejecuten de forma continua y consuman datos de los orígenes de transmisión como Amazon Kinesis Data Streams, Apache Kafka y Amazon Managed Streaming para Apache Kafka (Amazon MSK).
Requisitos previos
Para seguir este tutorial, necesitará un usuario con permisos de consola de AWS para usar AWS Glue, Amazon Kinesis, Amazon S3, Amazon Athena, AWS CloudFormation, AWS Lambda y Amazon Cognito.
Consumir datos de transmisión desde Amazon Kinesis
Temas
Generación de datos simulados con Kinesis Data Generator
Puede generar sintéticamente datos de muestra en formato JSON mediante Kinesis Data Generator (KDG). Encontrará instrucciones y detalles completos en la documentación de la herramienta
Para empezar, haga clic en
para ejecutar una plantilla de AWS CloudFormation en su entorno de AWS. nota
Es posible que se produzca un error en la plantilla de CloudFormation porque algunos recursos, como el usuario de Amazon Cognito para Kinesis Data Generator, ya existen en su cuenta de AWS. Esto puede deberse a que ya la configuró en otro tutorial o blog. Para solucionar este problema, puede probar la plantilla en una cuenta de AWS nueva para empezar de cero o explorar una región de AWS diferente. Estas opciones le permiten ejecutar el tutorial sin que entre en conflicto con los recursos existentes.
La plantilla aprovisiona un flujo de datos de Kinesis y una cuenta de Kinesis Data Generator. También crea un bucket de Amazon S3 para almacenar los datos y un rol de servicio de Glue con los permisos necesarios para este tutorial.
Introduzca un nombre de usuario y una contraseña que KDG usará para autenticarse. Tome nota del nombre de usuario y la contraseña para su uso posterior.
Seleccione Siguiente hasta el último paso. Acepte la creación de recursos de IAM. Compruebe si hay algún error en la parte superior de la pantalla, como que la contraseña no cumple los requisitos mínimos, e implemente la plantilla.
Navegue hasta la pestaña Salidas de la pila. Una vez implementada la plantilla, mostrará la propiedad generada KinesisDataGeneratorUrl. Haga clic en esa URL.
Ingrese el nombre de usuario y la contraseña que anotó.
Seleccione la región que está usando y elija Kinesis Stream
GlueStreamTest-{AWS::AccountId}
.Escriba la siguiente plantilla:
{ "ventilatorid": {{random.number(100)}}, "eventtime": "{{date.now("YYYY-MM-DD HH:mm:ss")}}", "serialnumber": "{{random.uuid}}", "pressurecontrol": {{random.number( { "min":5, "max":30 } )}}, "o2stats": {{random.number( { "min":92, "max":98 } )}}, "minutevolume": {{random.number( { "min":5, "max":8 } )}}, "manufacturer": "{{random.arrayElement( ["3M", "GE","Vyaire", "Getinge"] )}}" }
Ahora puede ver los datos simulados con la plantilla de prueba e incorporarlos a Kinesis con Enviar datos.
Haga clic en Enviar datos y genere entre 5 y 10 000 registros en Kinesis.
Creación de un trabajo de transmisión de AWS Glue con AWS Glue Studio
Navegue hasta AWS Glue en la consola en la misma región.
Seleccione Trabajos de ETL en la barra de navegación del lado izquierdo, en Integración de datos y ETL.
Cree un trabajo de AWS Glue a través de Visual con un lienzo en blanco.
Vaya a la pestaña Detalles del trabajo.
Para el nombre del trabajo de AWS Glue, escriba
DemoStreamingJob
.Para el rol de IAM, seleccione el rol aprovisionado en la plantilla de CloudFormation,
glue-tutorial-role-${AWS::AccountId}
.En Versión de Glue, seleccione Glue 3.0. Deje todas las demás opciones en sus valores predeterminados.
Navegue hasta la pestaña Visual.
Haga clic en el icono del signo más. Escriba Kinesis en la barra de búsqueda. Seleccione el origen de datos de Amazon Kinesis.
Seleccione Detalles del flujo para Origen de Amazon Kinesis en la pestaña Propiedades del origen de datos: flujo de Kinesis.
Seleccione El flujo se encuentra en mi cuenta para ver la Ubicación del flujo de datos.
Seleccione la región que está usando.
Seleccione el flujo de
GlueStreamTest-{AWS::AccountId}
.Mantenga todas las otras opciones de configuración predeterminadas.
Navegue a la pestaña Vista previa de datos.
Haga clic en Iniciar sesión de vista previa de datos, la cual muestra una vista previa de los datos simulados generados por KDG. Elija el rol de servicio de Glue que creó anteriormente para el trabajo de transmisión de AWS Glue.
Los datos de vista previa tardan entre 30 y 60 segundos en aparecer. Si aparece No hay datos para mostrar, haga clic en el icono con forma de engranaje y cambie el número de filas que desea muestrear a
100
.Puede ver los datos de muestra de la siguiente manera:
También puede ver el esquema inferido en la pestaña Esquema de salida.
Transformación y almacenamiento del resultado transformado en Amazon S3
Con el nodo de origen seleccionado, haga clic en el icono con el signo más, situado en la parte superior izquierda, para agregar un paso de transformación.
Seleccione el paso Cambiar esquema.
En este paso, puede cambiar el nombre de los campos y convertir el tipo de datos de los campos. Cambie el nombre de la columna
o2stats
aOxygenSaturation
y convierta todos los tipos de datos delong
aint
.Haga clic en el icono con el signo más para agregar un destino de Amazon S3. Introduzca S3 en el cuadro de búsqueda y seleccione el paso de transformación Amazon S3: destino.
Seleccione Parquet como formato de archivo de destino.
Seleccione Snappy como tipo de compresión.
Introduzca una ubicación de destino de S3 creada por la plantilla de CloudFormation,
streaming-tutorial-s3-target-{AWS::AccountId}
.Seleccione Crear una tabla en el Catálogo de datos y, en las ejecuciones posteriores, actualizar el esquema y agregar nuevas particiones.
Introduzca la base de datos de destino y el nombre de la tabla para almacenar el esquema de la tabla de destino de Amazon S3.
Haga clic en la pestaña Script para ver el código generado.
Haga clic en Guardar en la parte superior derecha para guardar el código ETL y, a continuación, haga clic en Ejecutar para iniciar el trabajo de transmisión de AWS Glue.
Puede encontrar el estado de ejecución en la pestaña Ejecuciones. Deje que el trabajo se ejecute entre 3 y 5 minutos y, a continuación, deténgalo.
Compruebe la nueva tabla creada en Amazon Athena.