Una inmersión profunda en el cerdo



Esta publicación de blog es una inmersión profunda en Pig y sus funciones. Encontrará una demostración de cómo puede trabajar en Hadoop utilizando Pig sin depender de Java.

Una de las principales razones por las que la popularidad de Hadoop se disparó en los últimos tiempos es el hecho de que características como Pig y Hive se ejecutan encima, lo que permite a los no programadores una funcionalidad que antes era exclusiva de los programadores de Java. Estas características fueron una consecuencia de la creciente demanda de profesionales de Hadoop. Otras características que utilizan los profesionales de Hadoop que no tienen experiencia en Java son Flume, Sqoop, HBase y Oozie.





Para comprender por qué no necesita Java para aprender Hadoop, consulte este blog .

1Historia del cerdo



Comprendamos cómo funcionan estas funciones.

Todos sabemos que el conocimiento de programación es una necesidad para escribir códigos MapReduce. Pero, ¿qué pasa si tengo una herramienta que puede realizar la codificación si solo proporciono los detalles? Ahí es donde Pig exhibe su fuerza muscular. Pig utiliza una plataforma llamada Pig Latin que abstrae la programación del lenguaje Java MapReduce en una notación que hace que la programación MapReduce sea de alto nivel, similar a la de SQL para sistemas RDBMS. Los códigos escritos en Pig Latin MapReduce se convierten automáticamente en funciones MapReduce equivalentes. ¿No es maravilloso? Otro hecho alucinante es que solo se necesitan 10 líneas de cerdo para reemplazar 200 líneas de Java.



10 líneas de cerdo = 200 líneas de Java

Esto no solo significa que los profesionales que no utilizan Java utilizan Hadoop, sino que también demuestra el hecho de que Pig es utilizado por un número igual de desarrolladores técnicos.

Además, si desea escribir su propio código MapReduce, puede hacerlo en cualquiera de los lenguajes como Perl, Python, Ruby o C. Algunas operaciones básicas que podemos realizar en cualquier conjunto de datos usando Pig son Agrupar, Unir, Filtrar y Ordenar . Estas operaciones se pueden realizar sobre datos estructurados, no estructurados y también semiestructurados. Proporcionan una forma ad-hoc para crear y ejecutar trabajos de MapReduce en conjuntos de datos muy grandes.

A continuación, entendamos Hive. Es un marco de almacenamiento de datos de código abierto a escala de petabytes basado en Hadoop para el resumen, consulta y análisis de datos. Hive proporciona una interfaz similar a SQL para Hadoop. Puede usar Hive para leer y escribir archivos en Hadoop y ejecutar sus informes desde una herramienta de BI. Algunas funciones típicas de Hadoop son:

Déjame mostrarte una demostración usando Pig en el conjunto de datos de Clickstream
Usaremos estos datos de Clickstream y realizaremos Transformaciones, Uniones y Agrupaciones.

ClickStream es una serie de clics del mouse realizados por un usuario mientras accede a Internet, especialmente cuando se monitorea para evaluar los intereses de una persona con fines de marketing. Es utilizado principalmente por sitios web minoristas en línea como Flipkart y Amazon, que rastrean sus actividades para generar recomendaciones. El conjunto de datos de Clickstream que hemos utilizado tiene los siguientes campos:

1. Tipo de idioma admitido por la aplicación web

2. Tipo de navegador

3. Tipo de conexión

4. Identificación del país

5. Sello de tiempo

6. URL

7. Estado de usuario

8. Tipo de usuario

Se verá así con los campos apropiados.

A continuación se muestra la lista de tipos de navegadores que han utilizado varias personas al navegar en un sitio web en particular. Entre la lista se encuentran navegadores como Internet Explorer, Google Chrome, Lynx, etc.

android studio paso a paso

El tipo de conexión a Internet puede ser Lan / Modem / Wifi. Vea la imagen a continuación para ver la lista completa:

En la siguiente imagen, encontrará la lista de países desde donde el sitio web ha atraído audiencia junto con sus identificaciones.

Una vez que hemos reunido todos los conjuntos de datos, tenemos que lanzar el shell Grunt de Pig, que se lanza para ejecutar los comandos de Pig.

Lo primero que tenemos que hacer al iniciar Grunt shell es cargar los datos de Clickstream en la relación de Pig. Una relación no es más que una mesa. A continuación se muestra el comando que usamos para cargar un archivo que reside en HDFS en la relación de Pig.

Podemos verificar el esquema de la relación mediante el comando describe click_stream.

Ahora necesitamos agregar los archivos de referencia que contendrán detalles sobre la lista de países con sus ID y los diferentes tipos de navegadores junto con sus ID.

Ahora tenemos dos archivos de referencia, pero deben estar conectados para formar una relación.
Ejecutamos un comando connection_ref para indicar el tipo de conexión.

Ahora que tenemos una conexión de trabajo y una relación establecida, le mostraremos cómo podemos transformar esos datos.
Para cada registro en Clickstream, generaremos un nuevo registro en un formato diferente, es decir, los datos transformados. El nuevo formato incluirá campos como TimeStamp, tipo de navegador, ID de país y algunos más.

Podemos realizar una operación de filtro para recortar el Big Data. Los diferentes tipos de usuarios son administradores, invitados o bots. En nuestra demostración, he filtrado la lista de invitados.

Si recuerda, la ID de país está presente en Clickstream y cargamos un archivo country_ref que contiene los nombres de los países junto con sus ID. Por lo tanto, podemos realizar una operación de unión entre los dos archivos y fusionar los datos para obtener información.

Si hemos unido los datos, podemos averiguar los diferentes países desde donde se encuentran los usuarios por Agrupación. Una vez que tenemos estos datos, podemos realizar una operación de Recuento para identificar la cantidad de usuarios de un país en particular.

No es una ciencia espacial derivar conocimientos de Big Data. Estas son solo algunas de las muchas características que he implementado y con herramientas como Hive, Hbase, Oozie, Sqoop y Flume, hay un tesoro de datos que aún no se ha explorado. Entonces, aquellos de ustedes que se están absteniendo de aprender Hadoop, es hora de cambiar.

Tienes una pregunta para nosotros? Por favor, menciónelos en la sección de comentarios y nos comunicaremos con usted.

Artículos Relacionados:

4 formas de usar R y Hadoop juntos

Todo sobre el desarrollador certificado de Cloudera para Apache Hadoop