Apache Pig - PigStorage ()

los PigStorage()La función carga y almacena datos como archivos de texto estructurados. Se necesita un delimitador mediante el cual cada entidad de una tupla se separa como parámetro. Por defecto, se necesita‘\t’ como parámetro.

Sintaxis

A continuación se muestra la sintaxis de la PigStorage() función.

grunt> PigStorage(field_delimiter)

Ejemplo

Supongamos que tenemos un archivo llamado student_data.txt en el directorio HDFS llamado /data/ con el siguiente contenido.

001,Rajiv,Reddy,9848022337,Hyderabad
002,siddarth,Battacharya,9848022338,Kolkata 
003,Rajesh,Khanna,9848022339,Delhi  
004,Preethi,Agarwal,9848022330,Pune 
005,Trupthi,Mohanthy,9848022336,Bhuwaneshwar
006,Archana,Mishra,9848022335,Chennai.

Podemos cargar los datos usando la función PigStorage como se muestra a continuación.

grunt> student = LOAD 'hdfs://localhost:9000/pig_data/student_data.txt' USING PigStorage(',')
   as ( id:int, firstname:chararray, lastname:chararray, phone:chararray, city:chararray );

En el ejemplo anterior, hemos visto que usamos coma (‘,’)delimitador. Por lo tanto, hemos separado los valores de un registro usando(,).

De la misma forma, podemos utilizar el PigStorage() función para almacenar los datos en el directorio HDFS como se muestra a continuación.

grunt> STORE student INTO ' hdfs://localhost:9000/pig_Output/ ' USING PigStorage (',');

Esto almacenará los datos en el directorio dado. Puede verificar los datos como se muestra a continuación.

Verificación

Puede verificar los datos almacenados como se muestra a continuación. En primer lugar, enumere los archivos en el directorio llamadopig_output utilizando ls comando como se muestra a continuación.

$ hdfs dfs -ls 'hdfs://localhost:9000/pig_Output/'
 
Found 2 items 
rw-r--r- 1 Hadoop supergroup 0 2015-10-05 13:03 hdfs://localhost:9000/pig_Output/_SUCCESS
 
rw-r--r- 1 Hadoop supergroup 224 2015-10-05 13:03 hdfs://localhost:9000/pig_Output/part-m-00000

Puede observar que se crearon dos archivos después de ejecutar el Store declaración.

Luego, usando el cat comando, lista el contenido del archivo llamado part-m-00000 Como se muestra abajo.

$ hdfs dfs -cat 'hdfs://localhost:9000/pig_Output/part-m-00000'
  
1,Rajiv,Reddy,9848022337,Hyderabad  
2,siddarth,Battacharya,9848022338,Kolkata  
3,Rajesh,Khanna,9848022339,Delhi  
4,Preethi,Agarwal,9848022330,Pune  
5,Trupthi,Mohanthy,9848022336,Bhuwaneshwar 
6,Archana,Mishra,9848022335,Chennai