Tipos de datos y la sintaxis de cerdo de hadoop

Video: 10 Comidas falsificadas en China aterrador

tipos de datos de cerdo conforman el modelo de datos para saber cómo piensa cerdo de la estructura de los datos que está procesando. Con Pig, el modelo de datos se define cuando se cargan los datos. Cualquier dato se carga en cerdo desde el disco va a tener un esquema y estructura particular. Cerdo tiene que entender que la estructura, por lo que cuando se hace la carga, los datos pasa automáticamente a través de un mapeo.

Por suerte para usted, el modelo de datos cerdo es lo suficientemente rico como para manejar casi cualquier cosa lanzado su camino, incluyendo mesa- como las estructuras y estructuras de datos jerárquicos anidados. En términos generales, sin embargo, los tipos de datos de cerdo se pueden dividir en dos categorías: los tipos escalares y tipos complejos. Escalar tipos contienen un solo valor, mientras complejo tipos contienen otros tipos, tales como los tipos de tupla, Bolsa y Mapa enumeran a continuación.

Latín de cerdo tiene estos cuatro tipos en su modelo de datos:

  • Átomo: Un átomo es cualquier valor único, como una cadena o un número - ‘Diego’, por ejemplo. valores atómicos de cerdo son tipos escalares que aparecen en la mayoría de los lenguajes de programación - int, long, float, double chararray y bytearray, por ejemplo.

  • tupla: UN tupla Es un disco que consta de una secuencia de campos. Cada campo puede ser de cualquier tipo - ‘Diego’, ‘Gómez’, o 6, por ejemplo). Pensar en una tupla como una fila en una tabla.

  • Bolso: UN bolso es un conjunto de tuplas no únicos. El esquema de la bolsa es flexible - cada tupla en la colección puede contener un número arbitrario de campos, y cada campo puede ser de cualquier tipo.

    Video: ESTO Es Lo Que Los PEDOS Revelan Sobre Tu Salud Esto Jamas Me Lo Hubiera Imaginado Es Sorprendente

  • Mapa: Un mapa es un conjunto de pares de valores clave. Cualquier tipo puede ser almacenado en el valor, y la clave debe ser único. La clave de un mapa debe ser un chararray y el valor puede ser de cualquier tipo.

    Video: Cadena Productiva del Cerdo - TvAgro por Juan Gonzalo Angel

La figura ofrece algunos ejemplos de los tipos de datos de tupla, Bolsa, y el mapa, también.

El valor de todos estos tipos también puede ser nulo. La semántica de nulos son similares a los utilizados en SQL. El concepto de null en cerdo significa que el valor es desconocido. Los valores nulos se muestran en los datos en los casos en que los valores son ilegibles o irreconocible - por ejemplo, si se va a utilizar un tipo de datos incorrecto en la declaración de carga.

Null podría ser utilizado como un marcador de posición hasta que se añade datos o como un valor para un campo que es opcional.

Latín de cerdo tiene una sintaxis sencilla con la semántica de gran alcance que va a utilizar para llevar a cabo dos operaciones principales: el acceso y transformar los datos.

En un contexto de Hadoop, el acceso datos significa permitiendo a los desarrolladores para cargar, almacenar y datos de la secuencia, mientras transformadora significa que los datos aprovechando la capacidad del cerdo para agrupar, unir, combinar, dividir, filtrar y ordenar los datos. La tabla proporciona una visión general de los operadores asociados a cada operación.

Los operadores latín de cerdo
OperaciónOperadorExplicación
Acceso a los datosCarga / almacenamientoLeer y escribir datos al sistema de archivos
TUGURIOEscribir la salida a la salida estándar (stdout)
CORRIENTEEnviar todos los registros a través binaria externa
transformacionesPARA CADAAplicar la expresión de cada registro y la salida de uno o más
archivos
FILTRARAplicar predicado y quitar registros que no cumplen
condición
GRUPO / Cogroupregistros de agregado con la misma clave de uno o más
entradas
UNIRSEUnir dos o más registros en función de una condición
CRUZARproducto cartesiano de dos o más entradas
ORDENOrdenar registros basados ​​en clave
DISTINTORetire los registros duplicados
UNIÓNFusionar dos conjuntos de datos
DIVISIÓNlos datos se dividen en dos o más bolsas en base a predicado
LÍMITEsubconjunto el número de registros

Pig también proporciona unos pocos operadores que son útiles para la depuración y solución de problemas, como se muestra:

Video: Cómo Criar Cerdos - Porcicultura- TvAgro por Juan Gonzalo Angel

Operadores para la depuración y solución de problemas
OperaciónOperadorDescripción
DepurarDESCRIBIRDevolver el esquema de una relación.
TUGURIOVolcar el contenido de una relación a la pantalla.
EXPLIQUEMostrar los planes de ejecución de MapReduce.

Parte del cambio de paradigma de Hadoop es que aplique el esquema en Leer lugar de carga. De acuerdo con la vieja manera de hacer las cosas - la manera RDBMS - Al cargar datos en su sistema de base de datos, debe cargarlo en un conjunto bien definido de tablas. Hadoop permite almacenar todos los datos en bruto que por adelantado y aplicar el esquema en Leer.

Con cerdo, esto se hace durante la carga de los datos, con la ayuda del operador CARGA.

La instrucción USING opcional define la forma de asignar la estructura de datos dentro del archivo para el modelo de datos de Indias - en este caso, la estructura de datos PigStorage (), que analiza los archivos de texto delimitado. (Esta parte de la instrucción USING se refiere a menudo como un Func LOAD y funciona de manera similar a un deserializer personalizado.)

El opcional AS cláusula se define un esquema para los datos que se está correlacionando. Si no se utiliza una cláusula AS, que está básicamente diciendo la carga por defecto Func esperar un archivo de texto plano que está delimitada pestaña. Sin esquema proporcionado, los campos deben ser referenciados por posición, porque no se define ningún nombre.

Utilizando como cláusulas significa que usted tiene un esquema en su lugar en el tiempo para leer sus archivos de texto, lo que permite a los usuarios empezar a trabajar rápidamente y proporciona el modelado esquema ágil y flexibilidad, de manera que se puede añadir más datos para su análisis.

El operador CARGA funciona según el principio de evaluación perezosa, también conocida como Call-by-necesidad. Ahora perezoso no suena particularmente digna de elogio, pero todo lo que significa es que se demora la evaluación de una expresión hasta que realmente lo necesita.

En el contexto del ejemplo cerdo, eso significa que cuando se ejecuta la instrucción LOAD, los datos no se movió - nada se desvía alrededor - hasta que se encuentra una instrucción para escribir datos. Puede tener un guión cerdo que es una página de largo lleno de transformaciones complejas, pero nada es ejecutado hasta que se encuentre la instrucción DUMP o tienda.

Artículos Relacionados