Procesamiento de los datos de DynamoDB con Apache Hive en Amazon EMR - Amazon DynamoDB

Procesamiento de los datos de DynamoDB con Apache Hive en Amazon EMR

Amazon DynamoDB se integra con Apache Hive, una aplicación de almacén de datos que se ejecuta en Amazon EMR. Hive puede leer y escribir datos en las tablas de DynamoDB, lo que le permite:

  • Consultar datos de DynamoDB en directo utilizando un lenguaje semejante a SQL (HiveQL).

  • Copiar datos de una tabla de DynamoDB en un bucket de Amazon S3 y viceversa.

  • Copiar datos de una tabla de DynamoDB en Hadoop Distributed File System (HDFS) y viceversa.

  • Realizar operaciones de unión con las tablas de DynamoDB.

Información general

Amazon EMR es un servicio que facilita el procesamiento rápido y rentable de enormes volúmenes de datos. Para utilizar Amazon EMR, se lanza un clúster administrado de instancias de Amazon EC2 que ejecutan el marco de trabajo de código abierto Hadoop. Hadoop es una aplicación distribuida que implementa el algoritmo de MapReduce, en virtud del cual se mapea una tarea a varios nodos del clúster. En paralelo con los demás nodos, cada nodo procesa el trabajo que se ha designado para él. Por último, las salidas se reducen a un solo nodo, que produce el resultado final.

Puede lanzar el clúster de Amazon EMR de modo que sea persistente o transitorio:

  • Un clúster persistente se ejecuta hasta que se cierra. Los clústeres persistentes son idóneos para el análisis de datos, el almacenamiento de datos o cualquier otro uso interactivo.

  • Un clúster transitorio se ejecuta el tiempo suficiente para procesar un flujo de trabajo y, a continuación, se cierra automáticamente. Los clústeres transitorios son idóneos para las tareas de procesamiento periódicas, tales como la ejecución de scripts.

Para obtener más información sobre la arquitectura y administración de Amazon EMR, consulte la Guía de administración de Amazon EMR.

Cuando se lanza un clúster de Amazon EMR, se especifica el número inicial y el tipo de instancias de Amazon EC2. También se especifican otras aplicaciones distribuidas (además de Hadoop) que se desea ejecutar en el clúster. Estas aplicaciones son, entre otras, Hue, Mahout, Pig o Spark.

Para obtener información sobre las aplicaciones para Amazon EMR, consulte la Guía de emisión de Amazon EMR.

Según la configuración del clúster, puede que disponga de uno o varios de los tipos de nodos siguientes:

  • Nodo líder: administra el clúster coordinando la distribución del ejecutable de MapReduce y de los subconjuntos de datos sin procesar, hasta los grupos de instancias principal y de tareas. También hace un seguimiento del estado de cada tarea realizada y monitorea la salud de los grupos de instancias. Solo hay un nodo líder en un clúster.

  • Nodos principales: ejecutan tareas de MapReduce y almacenan datos utilizando el Hadoop Distributed File System (HDFS).

  • Nodos de tareas (opcionales): ejecutan las tareas de MapReduce.