Comience a usar AWS de forma gratuita
Crear una cuenta gratuitaO inicie sesión en la consola
La capa gratuita de AWS incluye 750 horas de nodos de caché micro con Amazon ElastiCache.
P: ¿Qué es AWS Data Pipeline?
AWS Data Pipeline es un servicio web que facilita la programación de actividades regulares de procesamiento y transferencia de datos en la nube de AWS. AWS Data Pipeline se integra con los sistemas de almacenamiento en las instalaciones y basados en la nube a fin de que los desarrolladores puedan utilizar sus datos en el formato requerido siempre que los necesiten y cuando lo deseen. AWS Data Pipeline le permite definir rápidamente una cadena dependiente de orígenes y destinos de datos, así como de actividades de procesamiento de datos predefinidas o personalizadas, que se conoce como canalización. Según la programación que haya definido, la canalización ejecuta actividades de procesamiento con regularidad, como copias de datos distribuidas, transformaciones de SQL, aplicaciones de MapReduce o scripts personalizados en destinos como Amazon S3, Amazon RDS o Amazon DynamoDB. Al ejecutar la lógica de programación, reintento y error para estos flujos de trabajo como un servicio totalmente administrado y altamente escalable, Data Pipeline garantiza que las canalizaciones sean sólidas y de alta disponibilidad.
P: ¿Qué puedo hacer con AWS Data Pipeline?
Con AWS Data Pipeline, puede aprovisionar de manera rápida i fácil canalizaciones que le permitirán olvidarse del trabajo de desarrollo y mantenimiento necesario para administrar las operaciones de datos diarias. De este modo, podrá centrarse en generar información a partir de dichos datos. Solo tiene que especificar las actividades de procesamiento, la programación y los orígenes de datos necesarios para la canalización de los datos. AWS Data Pipeline gestiona la ejecución y monitoreo de las actividades de procesamiento en una infraestructura tolerante a errores y de confianza. Así mismo, para facilitar aún más el proceso de desarrollo, AWS Data Pipeline integra actividades para acciones comunes, como, por ejemplo, copiar datos entre Amazon S3 y Amazon RDS o consultar los datos de registro de Amazon S3.
P: ¿En qué se diferencia AWS Data Pipeline de Amazon Simple Workflow Service?
Si bien ambos servicios permiten realizar un seguimiento de las ejecuciones, gestionar los reintentos y las excepciones, y ejecutar acciones arbitrarias, AWS Data Pipeline se ha diseñado específicamente para facilitar los pasos específicos comunes de la mayoría de los flujos de trabajo basados en datos. Por ejemplo: ejecutar actividades después de que sus datos de entrada cumplan criterios de preparación específicos, copiar fácilmente datos entre diferentes almacenes de datos y programar transformaciones encadenadas. Este enfoque tan específico permite que las definiciones de flujos de trabajo de Data Pipeline puedan crearse con gran rapidez y sin necesidad de disponer de conocimientos de codificación ni de programación.
Una canalización constituye el recurso de AWS Data Pipeline que contiene la definición de la cadena dependiente de los orígenes y destinos de datos, así como actividades de procesamiento de datos predefinidas o personalizadas necesarias para ejecutar la lógica de negocio.
P: ¿Qué es un nodo de datos?
Un nodo de datos es una representación de los datos de su negocio. Por ejemplo, un nodo de datos puede hacer referencia a una ruta específica de Amazon S3. AWS Data Pipeline admite un lenguaje de expresión que facilita la referencia a los datos que se generan con regularidad. Por ejemplo, podría especificar que el formato de los datos de Amazon S3 es s3://example-bucket/my-logs/logdata-#{scheduledStartTime('YYYY-MM-dd-HH')}.tgz.
Una actividad es una acción que AWS Data Pipeline inicia en su nombre como parte de una canalización. Entre las actividades de ejemplo destacan los trabajos de EMR o Hive, las copias, las consultas SQL o los scripts de línea de comandos.
P: ¿Qué es una condición previa?
Una condición previa es una comprobación del estado de preparación que puede asociarse de manera opcional con un origen de datos o una actividad. Si un origen de datos tiene una comprobación de condición previa, dicha comprobación tiene que completarse satisfactoriamente antes de que se inicie cualquier actividad que utilice dicho origen de datos. Si una actividad tiene una condición previa, la comprobación de dicha condición se debe completar correctamente antes de que se ejecute la actividad. Esto puede resultar útil si va a ejecutar una actividad que resulta costosa de procesar y que no debe ejecutarse hasta que se hayan cumplido criterios específicos.
P: ¿Qué es una programación?
Las programaciones definen cuándo se ejecutan las actividades de la canalización y la frecuencia con la que el servicio espera que los datos se encuentren disponibles. Es preciso que todas las programaciones tengan una fecha de inicio y una frecuencia; por ejemplo, todos los días a partir del 1 de enero de 2013, a las 15:00 h. De manera opcional, las programaciones también pueden tener una fecha de fin, tras la cual el servicio AWS Data Pipeline no ejecutará ninguna actividad. Al asociar una programación con una actividad, la actividad se ejecuta en dicha programación. Al asociar una programación con un origen de datos, indica al servicio AWS Data Pipeline que espera que los datos se actualicen en dicha programación. Por ejemplo, si define un origen de datos de Amazon S3 con una programación por horas, el servicio espera que el origen de datos contenga nuevos archivos cada hora.
P: ¿Ofrece Data Pipeline alguna actividad estándar?
Sí, AWS Data Pipeline integra asistencia para las siguientes actividades:
- CopyActivity: esta actividad puede copiar datos entre Amazon S3 y los orígenes de datos JDBC, o bien ejecutar una consulta SQL y copiar el resultado en Amazon S3.
- HiveActivity: esta actividad le permite ejecutar consultas de Hive con facilidad.
- EMRActivity: esta actividad le permite ejecutar trabajos arbitrarios de Amazon EMR.
- ShellCommandActivity: esta actividad le permite ejecutar programas o comandos shell de Linux de forma arbitraria.
P: ¿Ofrece AWS Data Pipeline alguna condición previa estándar?
Sí, AWS Data Pipeline integra asistencia para las siguientes condiciones previas:
- DynamoDBDataExists: esta condición previa comprueba la existencia de datos en una tabla de DynamoDB.
- DynamoDBTableExists: esta condición previa comprueba la existencia de una tabla de DynamoDB.
- S3KeyExists: esta condición previa comprueba la existencia de una ruta específica de Amazon S3.
- S3PrefixExists: esta condición previa comprueba al menos un archivo existente en una ruta específica.
- ShellCommandPrecondition: esta condición previa ejecuta un script arbitrario en los recursos y comprueba que este se ejecute satisfactoriamente.
P: ¿Puedo proporcionar actividades personalizadas?
Sí, puede utilizar ShellCommandActivity para ejecutar la lógica arbitraria de la actividad.
P: ¿Puedo proporcionar condiciones previas personalizadas?
Sí, puede utilizar ShellCommandPrecondition para ejecutar la lógica arbitraria de la condición previa.
P: ¿Se pueden definir varias programaciones para diferentes actividades en la misma canalización?
Sí, solo tiene que definir varios objetos de programación en el archivo de definición de la canalización y asociar la programación deseada con la actividad correcta a través del campo de programación. De este modo, podrá definir una canalización en la que, por ejemplo, los archivos de registro se almacenen en Amazon S3 cada hora para generar un informe agregado una vez al día.
P: ¿Qué sucede si una actividad falla?
Una actividad falla si todos los intentos de esta devuelven un estado de error. De forma predeterminada, una actividad se reintenta tres veces antes de registrar un estado de error grave. Puede aumentar el número de reintentos automáticos hasta 10, no obstante, el sistema no permite establecer un número ilimitado. Cuando una actividad agota sus intentos, activa una alarma onFailure configurada y no intentará ejecutarse de nuevo a menos que emita manualmente un comando de nueva ejecución a través de la CLI, la API o el botón de la consola.
P: ¿Cómo puedo agregar alarmas a una actividad?
Puede definir alarmas de Amazon SNS para notificar si una actividad se ha ejecutado satisfactoriamente, si ha fallado o si se ha retrasado. Cree un objeto de alarma y haga referencia a él en los espacios onFail, onSuccess u onLate del objeto de la actividad.
P: ¿Puedo volver a ejecutar manualmente las actividades que han fallado?
Sí. Puede volver a ejecutar un conjunto de actividades completadas o que hayan fallado si restablece su estado a SCHEDULED. Para hacerlo, puede usar el botón Rerun de la interfaz de usuario o modificar su estado en la línea de comandos o en la API. De este modo, se programará de inmediato una nueva comprobación de todas las dependencias de la actividad, seguida de la ejecución de intentos adicionales de la actividad. En errores posteriores, la actividad realizará el número original de reintentos.
P: ¿En qué recursos se ejecutan las actividades?
Las actividades de AWS Data Pipeline se ejecutan en los recursos informáticos que posee. Hay dos tipos de recursos informáticos: los recursos autoadministrados y los recursos administrados por AWS Data Pipeline. Los recursos administrados por AWS Data Pipeline son clústeres de Amazon EMR o instancias de Amazon EC2 que el servicio AWS Data Pipeline inicia solo cuando resultan necesarios. Los recursos administrados por el usuario se ejecutan durante más tiempo y pueden ser todos los recursos capaces de ejecutar Task Runner basado en Java de AWS Data Pipeline (hardware en las instalaciones, una instancia de Amazon EC2 administrada por el cliente, etc.).
P: ¿Puede AWS Data Pipeline aprovisionar y terminar automáticamente los recursos informáticos administrados por AWS Data Pipeline?
Sí, los recursos informáticos se aprovisionan cuando la primera actividad programada que utiliza dichos recursos está preparada para ejecutarse. Dichas instancias se terminan cuando la actividad final que utiliza los recursos se ha completado satisfactoriamente o ha fallado.
P: ¿Se pueden utilizar varios recursos informáticos en la misma canalización?
Sí, solo tiene que definir varios objetos de clúster en el archivo de definición y asociar el clúster que vaya a utilizar con cada actividad a través del campo runsOn. Esto permite a las canalizaciones combinar los recursos de AWS con los de las instalaciones o utilizar una combinación de tipos de instancias para sus actividades. Por ejemplo, puede utilizar una instancia t1.micro para ejecutar un script rápido de forma poco costosa, pero después en la canalización puede tener un trabajo de Amazon EMR que requiera la potencia de un clúster de instancias más grandes.
P: ¿Puedo ejecutar actividades en recursos en las instalaciones o en los recursos de AWS que administro?
Sí. Para poder ejecutar actividades con recursos en las instalaciones, AWS Data Pipeline ofrece un paquete de Task Runner que puede instalarse en los hosts en las instalaciones. Este paquete explora constantemente el servicio AWS Data Pipeline para comprobar el trabajo que se tiene que realizar. Cuando llega el momento de ejecutar una actividad concreta en los recursos en las instalaciones, como, por ejemplo, ejecutar un procedimiento almacenado en la base de datos o un volcado de base de datos, AWS Data Pipeline envía el comando adecuado a Task Runner. Para garantizar que las actividades de la canalización ofrezcan una alta disponibilidad, de manera opcional puede asignar varias instancias de Task Runner a fin de explorarlas para un trabajo determinado. De esta forma, si una instancia de Task Runner deja de estar disponible, las demás retoman el trabajo de la otra.
P: ¿Cómo puedo instalar Task Runner en mis hosts en las instalaciones?
Puede instalar el paquete de Task Runner en los hosts en las instalaciones. Para ello, realice los siguientes pasos:
- Descargue el paquete de Task Runner de AWS.
- Cree un archivo de configuración que incluya las credenciales de AWS.
- Inicie el agente de Task Runner a través del siguiente comando:
java -jar TaskRunner-1.0.jar --config ~/credentials.json --workerGroup=[myWorkerGroup] - Al definir actividades, configúrelas para que se ejecuten en [myWorkerGroup] a fin de enviarlas a los hosts previamente instalados.
P: ¿Cómo puedo comenzar a utilizar AWS Data Pipeline?
Para comenzar a utilizar AWS Data Pipeline, solo tiene que visitar la consola de administración de AWS y obtener acceso a la pestaña AWS Data Pipeline. Desde ahí puede crear una canalización con un editor gráfico sencillo.
P: ¿Qué puedo hacer con AWS Data Pipeline?
Con AWS Data Pipeline, puede programar y administrar trabajos periódicos de procesamiento de datos. Puede utilizar este servicio para reemplazar sistemas sencillos que actualmente se administran con soluciones frágiles basadas en expresiones cron, o bien, puede utilizarlo para compilar trabajos de procesamiento de datos complejos y de varias etapas.
P: ¿Hay canalizaciones de muestra que pueda utilizar para probar AWS Data Pipeline?
Sí, hay canalizaciones de muestra en nuestra documentación. Además, la consola tiene varias plantillas de canalizaciones que puede utilizar para comenzar.
P: ¿Cuántas canalizaciones puedo crear en AWS Data Pipeline?
De forma predeterminada, su cuenta puede disponer de 100 canalizaciones.
P: ¿Hay límites sobre lo que puedo introducir en una única canalización?
De forma predeterminada, cada canalización creada puede contener 100 objetos.
P: ¿Se pueden modificar los límites?
Sí. Si quiere aumentar sus límites, solo tiene que contactarnos.
P: ¿Los precios incluyen impuestos?
Si no se especifica lo contrario, nuestros precios no incluyen los impuestos ni gravámenes correspondientes, como el IVA y cualquier otro impuesto sobre las ventas. En el caso de los clientes con una dirección de facturación de Japón, el uso de los servicios de AWS está sujeto al impuesto de consumo nipón. Más información.