Apache Pig - BinStorage ()

los BinStorage() La función se utiliza para cargar y almacenar los datos en Pig usando un formato legible por máquina. BinStorge()in Pig se utiliza generalmente para almacenar datos temporales generados entre los trabajos de MapReduce. Admite múltiples ubicaciones como entrada.

Sintaxis

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

grunt> BinStorage();

Ejemplo

Supongamos que tenemos un archivo llamado stu_data.txt en el directorio HDFS /pig_data/ Como se muestra abajo.

Stu_data.txt

001,Rajiv_Reddy,21,Hyderabad 
002,siddarth_Battacharya,22,Kolkata 
003,Rajesh_Khanna,22,Delhi 
004,Preethi_Agarwal,21,Pune 
005,Trupthi_Mohanthy,23,Bhuwaneshwar 
006,Archana_Mishra,23,Chennai 
007,Komal_Nayak,24,trivendram 
008,Bharathi_Nambiayar,24,Chennai

Carguemos estos datos en Pig en una relación como se muestra a continuación.

grunt> student_details = LOAD 'hdfs://localhost:9000/pig_data/stu_data.txt' USING PigStorage(',')
   as (id:int, firstname:chararray, age:int, city:chararray);

Ahora podemos store esta relación en el directorio HDFS llamado /pig_data/ utilizando la BinStorage() función.

grunt> STORE student_details INTO 'hdfs://localhost:9000/pig_Output/mydata' USING BinStorage();

Después de ejecutar la declaración anterior, la relación se almacena en el directorio HDFS dado. Puedes verlo usando el HDFSls command Como se muestra abajo.

$ hdfs dfs -ls hdfs://localhost:9000/pig_Output/mydata/
  
Found 2 items 
-rw-r--r--   1 Hadoop supergroup       0 2015-10-26 16:58
hdfs://localhost:9000/pig_Output/mydata/_SUCCESS

-rw-r--r--   1 Hadoop supergroup        372 2015-10-26 16:58
hdfs://localhost:9000/pig_Output/mydata/part-m-00000

Ahora, cargue los datos del archivo part-m-00000.

grunt> result = LOAD 'hdfs://localhost:9000/pig_Output/b/part-m-00000' USING BinStorage();

Verifique el contenido de la relación como se muestra a continuación

grunt> Dump result; 

(1,Rajiv_Reddy,21,Hyderabad) 
(2,siddarth_Battacharya,22,Kolkata) 
(3,Rajesh_Khanna,22,Delhi) 
(4,Preethi_Agarwal,21,Pune) 
(5,Trupthi_Mohanthy,23,Bhuwaneshwar) 
(6,Archana_Mishra,23,Chennai) 
(7,Komal_Nayak,24,trivendram) 
(8,Bharathi_Nambiayar,24,Chennai)