Pig Latin – Conceptos básicos

Pig Latin es un idioma que se usa para analizar datos en Hadoop usando Apache Pig. En este capítulo, vamos a discutir los conceptos básicos de Pig Latin, como los operadores Pig Latin, tipos de datos, operadores generales y relacionales y UDF Pig Latin.

Pig Latin – Modelo de datos

Como se discutió en capítulos anteriores, el modelo de datos de Pig está completamente anidado. Y Comunicación es la estructura más externa del modelo de datos Pig Latin. Y esto bolsa dónde –

  • Una bolsa es una colección de tuplas.
  • Una tupla es una colección ordenada de campos.
  • Un campo es un dato.

Pig Latin – Statemets

Al procesar datos con Pig Latin, declaraciones son los diseños principales.

  • Estas declaraciones funcionan con conexiones… Incluyen expresiones y esquemas

  • Cada instrucción termina con un punto y coma (;).

  • Realizaremos varias operaciones utilizando los operadores proporcionados por Pig Latin a través de operadores.

  • A excepción de LOAD y STORE, en todas las demás operaciones, las declaraciones de Pig Latin toman una relación como entrada y crean otra relación como salida.

  • Tan pronto como entres Carga en el contenedor Grunt, se realizará la validación semántica. Para ver el contenido del esquema, debe usar Vertedero operador. Solo después de la ejecución vertedero la tarea MapReduce se ejecutará para cargar los datos en el sistema de archivos.

Ejemplo

A continuación se muestra una declaración de Pig Latin que carga datos en Apache Pig.

grunt> Student_data = LOAD 'student_data.txt' USING PigStorage(',')as 
   ( id:int, firstname:chararray, lastname:chararray, phone:chararray, city:chararray );

Pig Latin – Tipos de datos

La siguiente tabla describe los tipos de datos de Pig Latin.

SN Tipo de datos Descripción y ejemplo
uno En t

Representa un entero de 32 bits con signo.

Ejemplo : 8

2 a lo largo de

Representa un entero de 64 bits con signo.

Ejemplo : 5L

3 nadar

Representa un punto flotante de 32 bits firmado.

Ejemplo : 5.5F

cuatro doble

Representa un punto flotante de 64 bits.

Ejemplo : 10,5

cinco Chararray

Representa una matriz de caracteres (cadena) en formato Unicode UTF-8.

Ejemplo : ‘punto de aprendizaje’

6 Bytearray

Representa una matriz de bytes (blob).

7 Booleano

Representa un valor booleano.

Ejemplo : verdadero Falso.

8 fecha y hora

Representa la fecha y la hora.

Ejemplo : 1970-01-01T00: 00: 00.000 + 00: 00

9 Biginteger

Representa Java BigInteger.

Ejemplo : 60708090709

diez Bigdecimal

Representa Java BigDecimal

Ejemplo : 185.98376256272893883

Tipos complejos
once Tupla

Una tupla es una colección ordenada de campos.

Ejemplo : (raja, 30)

12 Bolsa

Una bolsa es una colección de tuplas.

Ejemplo : {(Raju, 30), (Mohammad, 45)}

trece mapa

Un mapa es una colección de pares clave-valor.

Ejemplo : [ ‘name’#’Raju’, ‘age’#30]

Valores cero

Los valores para todos los tipos de datos anteriores pueden ser NULL. Apache Pig maneja los valores nulos de la misma forma que SQL.

El valor nulo puede ser desconocido o inexistente. Se utiliza como marcador de posición para valores opcionales. Estos valores NULL pueden ocurrir naturalmente o pueden ser el resultado de una operación.

Pig Latin Рoperadores aritm̩ticos

La siguiente tabla describe los operadores aritméticos Pig Latin. Suponga que a = 10 y b = 20.

Operador Descripción Ejemplo
& un plus;

A̱adiendo РAgrega valores a ambos lados del operador

un plus; b dará 30

Sustracción – Resta el operando derecho del operando izquierdo

a – b dará −10
*

Multiplicación – Multiplica los valores a ambos lados del operador

a * b dará 200
/

Separación – Divide el operando izquierdo por el operando derecho

usado dará 2
%

Módulo – Divide el operando izquierdo por el operando derecho y devuelve el resto

b% a dará 0
? :

Bincond – Evalúa operadores lógicos. Tiene tres operandos como se muestra a continuación.

Variable X = (expresión)? valor1 si es verdad : valor2 si una mentira

b = (a == 1)? 20:30;

si a = 1, el valor de b es 20.

si un! = 1, b es 30.

NEGOCIO

CUANDO

ENTONCES

ELSE END

Negocio – La declaración del caso es equivalente a la declaración bincond anidada.

CASO f2% 2

CUANDO 0 ENTONCES ‘incluso’

CUANDO 1 ENTONCES ‘impar’

FIN

Pig Latin – operadores de comparación

La siguiente tabla describe los operadores de comparación Pig Latin.

Operador Descripción Ejemplo
==

Igual – Comprueba si los valores de dos operandos son iguales; si es así, entonces se cumple la condición.

(a = b) incorrecto
=

No es igual – Comprueba si los valores de dos operandos son iguales. Si los valores no son iguales, la condición se cumple.

(a! = b) es cierto.
>

Mejor que – Comprueba si el valor del operando izquierdo es mayor que el valor del operando derecho. Si es así, entonces se cumple la condición.

(a> b) es incorrecto.
<

Menos que – Comprueba si el valor del operando izquierdo es menor que el valor del operando derecho. Si es así, entonces se cumple la condición.

(a
> =

Mas o igual – Comprueba si el valor del operando izquierdo es mayor o igual que el valor del operando derecho. Si es así, entonces se cumple la condición.

(a> = b) es incorrecto.
<=

Menor o igual – Comprueba si el valor del operando izquierdo es menor o igual que el valor del operando derecho. Si es así, entonces se cumple la condición.

(a <= b) es cierto.
coincidencias

La coincidencia de patrones – Comprueba si la cadena de la izquierda es la misma que la constante de la derecha.

partidos de f1 ‘. * tutorial. * ‘

Pig Latin – Operadores constructores

La siguiente tabla describe los operadores de construcción de tipo en Pig Latin.

Operador Descripción Ejemplo
()

Operador de constructor de tuplas – Este operador se usa para crear una tupla.

(Raju, 30 años)
{}

Operador constructor de bolsas – Este operador se utiliza para crear una bolsa.

{(Raju, 30), (Mohammad, 45)}
[]

Operador constructor de mapas – Este operador se usa para crear una tupla.

[name#Raja, age#30]

Pig Latin – Operaciones de relación

La siguiente tabla describe los operadores relacionales Pig Latin.

Operador Descripción
Carga y almacenaje
CARGA Cargue los datos del sistema de archivos (local / HDFS) en relación.
MANTENER Guarde la relación con el sistema de archivos (local / HDFS).
Filtración
FILTRAR Para eliminar filas innecesarias de una relación.
DISTINTO Para eliminar filas duplicadas de una relación.
ANTE TODOS, GENERAR Para crear transformaciones de datos basadas en columnas de datos.
TRADUCIR Transforma una relación usando un programa externo.
Agrupar y combinar
UNIRSE Une dos o más relaciones.
COGROUP Para agrupar datos en dos o más relaciones.
GRUPO Para agrupar datos en una sola relación.
CROSS Crear un producto cruzado de dos o más relaciones.
Clasificación
ORDEN Para organizar la relación en orden ordenado según uno o más campos (ascendente o descendente).
LÍMITE Obtener un número limitado de tuplas de una relación.
Consolidación y separación
UNIÓN Combinar dos o más relaciones en una sola relación.
Separar Dividir una relación en dos o más relaciones.
Operadores de diagnóstico
DUMP Para imprimir el contenido de la relación a la consola.
DESCRIBIR Describe el diagrama de relaciones.
EXPLIQUE Para ver planes de ejecución físicos lógicos o planes de ejecución de MapReduce para calcular una relación.
ILUSTRACIÓN Para ver la ejecución paso a paso de una serie de declaraciones.

🚫