

AWS Data Pipeline ya no está disponible para nuevos clientes. Los clientes actuales de AWS Data Pipeline pueden seguir utilizando el servicio con normalidad. [Más información](https://aws.amazon.com/blogs/big-data/migrate-workloads-from-aws-data-pipeline/)

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Lanzar un clúster mediante la línea de comando
<a name="dp-launch-emr-jobflow-cli"></a>

Si ejecuta habitualmente un clúster de Amazon EMR para analizar registros web o realizar análisis de datos científicos, puede utilizarlo AWS Data Pipeline para gestionar sus clústeres de Amazon EMR. Con AWS Data Pipeline, puede especificar las condiciones previas que deben cumplirse antes del lanzamiento del clúster (por ejemplo, asegurarse de que los datos del día de hoy se hayan cargado en Amazon S3). Este tutorial le mostrará cómo lanzar un clúster, que puede ser un modelo para una canalización sencilla basada en Amazon EMR o como parte de una canalización más compleja.

**Requisitos previos**

Antes de poder utilizar la CLI; debe llevar a cabo los pasos siguientes:

1. Instale y configure la interfaz de la línea de comandos (CLI). Para obtener más información, consulte [Accediendo AWS Data Pipeline](what-is-datapipeline.md#accessing-datapipeline).

1. Asegúrese de que las funciones de IAM nombradas **DataPipelineDefaultRole**y **DataPipelineDefaultResourceRole**de que existan. La AWS Data Pipeline consola crea estos roles automáticamente. Si no ha utilizado la AWS Data Pipeline consola al menos una vez, debe crear estos roles manualmente. Para obtener más información, consulte [Funciones de IAM para AWS Data Pipeline](dp-iam-roles.md).

**Topics**
+ [Creación del archivo de definición de canalización](#streaming-cluster-json)
+ [Actualización y activación de la definición de la canalización](#streaming-cluster-activate)
+ [Supervisar las ejecuciones de la canalización](#streaming-cluster-monitor)

## Creación del archivo de definición de canalización
<a name="streaming-cluster-json"></a>

El código siguiente es el archivo de definición de canalización para un clúster sencillo de Amazon EMR que ejecuta un trabajo de Hadoop Streaming existente proporcionado por Amazon EMR. Esta aplicación de ejemplo se llama WordCount y también puede ejecutarla mediante la consola Amazon EMR.

Copie este código en un archivo de texto y guárdelo como `MyEmrPipelineDefinition.json`. Debe sustituir la ubicación del bucket de Amazon S3 por el nombre de un bucket de Amazon S3 de su propiedad. También debe sustituir las fechas de inicio y final. Para lanzar clústeres de forma inmediata, establezca una fecha `startDateTime` para un día en el pasado y `endDateTime` para un día en el futuro. AWS Data Pipeline a continuación, comienza a lanzar inmediatamente los clústeres «vencidos», en un intento de abordar lo que percibe como una acumulación de trabajo pendiente. Esta sobrecarga significa que no tendrá que esperar una hora para que se AWS Data Pipeline lance su primer clúster.

```
{
  "objects": [
    {
      "id": "Hourly",
      "type": "Schedule",
      "startDateTime": "2012-11-19T07:48:00",
      "endDateTime": "2012-11-21T07:48:00",
      "period": "1 hours"
    },
    {
      "id": "MyCluster",
      "type": "EmrCluster",
      "masterInstanceType": "m1.small",
      "schedule": {
        "ref": "Hourly"
      }
    },
    {
      "id": "MyEmrActivity",
      "type": "EmrActivity",
      "schedule": {
        "ref": "Hourly"
      },
      "runsOn": {
        "ref": "MyCluster"
      },
      "step": "/home/hadoop/contrib/streaming/hadoop-streaming.jar,-input,s3n://elasticmapreduce/samples/wordcount/input,-output,s3://myawsbucket/wordcount/output/#{@scheduledStartTime},-mapper,s3n://elasticmapreduce/samples/wordcount/wordSplitter.py,-reducer,aggregate"
    }
  ]
}
```

 Esta canalización tiene tres objetos:
+  `Hourly`, que representa el programa del trabajo. Puede establecer un programa como uno de los campos de una actividad. Cuando lo haga, la actividad se ejecutará de acuerdo con dicho programa o, en este caso, cada hora. 
+  `MyCluster`, que representa el conjunto de EC2 instancias de Amazon que se utilizan para ejecutar el clúster. Puede especificar el tamaño y la cantidad de EC2 instancias que se ejecutarán como clúster. Si no especifica el número de instancias, el clúster se lanzará con dos, un nodo principal y un nodo de tarea. Puede especificar una subred en la que lanzar el clúster. Puede añadir configuraciones adicionales al clúster, tales como acciones de arranque para cargar software adicional en la AMI proporcionada por Amazon EMR. 
+  `MyEmrActivity`, que representa el cálculo que se procesará con el clúster. Amazon EMR admite varios tipos de clústeres, entre los que se incluyen streaming, Cascading y Scripted Hive. El `runsOn` campo hace referencia a MyCluster y lo utiliza como especificación para los fundamentos del clúster.

## Actualización y activación de la definición de la canalización
<a name="streaming-cluster-activate"></a>

Debe cargar la definición de su canalización y activarla. En los siguientes comandos de ejemplo, *pipeline\$1name* sustitúyala por una etiqueta para la canalización y *pipeline\$1file* por la ruta completa para el archivo de definición de la canalización. `.json`

**AWS CLI**

Para crear su definición de canalización y activarla, use el siguiente comando [create-pipeline](https://docs.aws.amazon.com/cli/latest/reference/datapipeline/create-pipeline.html). Anote el ID de su canalización, ya que utilizará este valor con la mayoría de los comandos de la CLI.

```
aws datapipeline create-pipeline --name pipeline_name --unique-id token
{
    "pipelineId": "df-00627471SOVYZEXAMPLE"
}
```

Para cargar la definición de tu canalización, usa el siguiente [put-pipeline-definition](https://docs.aws.amazon.com/cli/latest/reference/datapipeline/put-pipeline-definition.html)comando.

```
aws datapipeline put-pipeline-definition --pipeline-id df-00627471SOVYZEXAMPLE --pipeline-definition file://MyEmrPipelineDefinition.json
```

Si la canalización se valida correctamente, el campo `validationErrors` estará vacío. Debe revisar todas las advertencias.

Para activar la canalización, utilice el siguiente comando [activate-pipeline](https://docs.aws.amazon.com/cli/latest/reference/datapipeline/activate-pipeline.html):

```
aws datapipeline activate-pipeline --pipeline-id df-00627471SOVYZEXAMPLE
```

Puede comprobar que su canalización aparece en la lista de canalizaciones mediante el siguiente comando [list-pipelines](https://docs.aws.amazon.com/cli/latest/reference/datapipeline/list-pipelines.html).

```
aws datapipeline list-pipelines
```

## Supervisar las ejecuciones de la canalización
<a name="streaming-cluster-monitor"></a>

Puede ver los clústeres lanzados AWS Data Pipeline mediante la consola Amazon EMR y puede ver la carpeta de salida mediante la consola Amazon S3.

**Para comprobar el progreso de los clústeres lanzados por AWS Data Pipeline**

1. Abra la consola de Amazon EMR.

1. Los clústeres generados por AWS Data Pipeline tienen un nombre con el siguiente formato: *<pipeline-identifier>* *<emr-cluster-name>* \$1@ \$1. *<launch-time>*  
![\[Elastic MapReduce clúster list showing three running clusters with unique identifiers.\]](http://docs.aws.amazon.com/es_es/datapipeline/latest/DeveloperGuide/images/dp-emr-scenario-starting.png)

1. Cuando finalice una de las ejecuciones, abra la consola de Amazon S3 y compruebe que la carpeta de salida con marca temporal existe y contiene los resultados esperados del clúster.  
![\[Amazon S3 console showing folders with timestamp names in the wordcount directory.\]](http://docs.aws.amazon.com/es_es/datapipeline/latest/DeveloperGuide/images/dp-emr-scenario-output.png)