Este documento describe varias técnicas para la inyección y extracción de datos en sistemas de Big Data como Apache Cassandra, incluyendo el uso de herramientas como COPY, Sqoop, Flume, SSTableLoader y Pentaho Data Integration. También explica cómo Pentaho permite realizar ETL de manera gráfica mediante conectores para sistemas como Cassandra.
SQL SERVER Y MYSQL - ADMINISTRACIÓN DE BASE DE DATOS
Técnicas de Inyección y Extracción de Datos en Cassandra con Pentaho
1. Técnicas de Inyección / Extracción de Datos en #BigData
+
Técnicas Drag & Drop en Apache Cassandra
@javituiter
www.franciscojavierpulido.com
@exploradata
www.exploradata.com
2. Sobre mí
Graduado en
Ingeniera del
Software
Master en
Sistemas en
Ingeniería de la
Información
Big Data Specialist
www.ExploraData.com
Bloguero
&
Tuitero
10. Inyección / Extración de datos en Cassandra
Comando COPY
- Desarrollar desde 0 un programa para lanzar múltiples
instancias del comando (secuencialmente, ya que
paralelamente estaba sujeto a errores de
concurrencia)
- Paralelizable en varios nodos manualmente
- Limitado a 500.000 registros por hilo/lanzamiento
11. Inyección / Extración de datos en Cassandra
Apache Sqoop
· Relacional
· NoSQL
· Relacional
· NoSQL
Hadoop
12. Inyección / Extración de datos en Cassandra
Apache Flume
- Herramienta exclusiva para la etapa de
Obtención de datos
- Source
- Channel
- Sink
- Interceptor
13. Inyección / Extración de datos en Cassandra
Apache Flume
Channel 1
Channel N
Source 1
.
.
.
.
.
.
Source 2
Sink 1
Sink 2
15. Inyección / Extración de datos en Cassandra
Apache Flume
+ Sink a Cassandra
Personalizado
http
://www.treselle.com/blog/flume-with-cassandra-integration
18. Técnicas Drag&Drop en Cassandra
ETL
• Extraer, Transformar y Cargar (Load). En definitiva:
• Extraer datos de múltiples fuentes
• Aplicar calidad y consistencia (limpiar) a los datos
• Conformar (unificar) los datos
• Cargar los datos en un DW
• La idea de Flujo.
• Actividad inicial y con ejecución periódica/programable.
• Herramientas: Talend, JasperSoft, Pentaho Data Integration
19. Técnicas Drag&Drop en Cassandra
Pentaho Data Integration
• PDI es un set de herramientas, que permite diseñar ETLs, mediante
transformaciones y trabajos que pueden ser ejecutadas por las herramientas
de Spoon, Pan y Kitchen. Antes se le conocía con el nombre de Kettle.
• Spoon interfaz gráfica para diseño de trasformaciones y trabajos ETL.
• Pan es un motor capaz de ejecutar múltiples transformaciones de datos como leer,
manipular y escribir desde y en distintos orígenes de datos.
• Kitchen es un programa que ejecuta los trabajos diseñados por Spoon. Normalmente estos
trabajos son planificados en modo batch para ejecutar automáticamente a periodos
regulares (crontab -e).
21. Técnicas Drag&Drop en Cassandra
Conectores Big Data en PDI
• En PDI tenemos múltiples conectores para sistemas Big Data:
• AVRO
• Cassandra
• CouchDB
• Hadoop
• Hbase
• Map Reduce
• MongoDB
22. Técnicas Drag&Drop en Cassandra
Cassandra en PDI
• Tenemos tres tipos de “pasos” para Apache Cassandra:
• Cassandra Input: se utiliza para realizar lecturas
• Cassandra Output: se utiliza para realizar escrituras
• SSTable Output: se utiliza para volcar a una SSTable de Cassandra.
• Requisitos:
• Apache Cassandra 1.2.X
• PDI 5.0.1 Stable
• Librerías oficiales de Apache Cassandra para PDI
• Limitaciones:
• Los “pasos” funcionan correctamente con hasta 500K registros