Apache Pig - BinStorage ()
le BinStorage() La fonction est utilisée pour charger et stocker les données dans Pig en utilisant un format lisible par machine. BinStorge()in Pig est généralement utilisé pour stocker les données temporaires générées entre les travaux MapReduce. Il prend en charge plusieurs emplacements en entrée.
Syntaxe
Ci-dessous, la syntaxe du BinStorage() fonction.
grunt> BinStorage();
Exemple
Supposons que nous ayons un fichier nommé stu_data.txt dans le répertoire HDFS /pig_data/ comme indiqué ci-dessous.
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
Chargez ces données dans Pig dans une relation comme indiqué ci-dessous.
grunt> student_details = LOAD 'hdfs://localhost:9000/pig_data/stu_data.txt' USING PigStorage(',')
as (id:int, firstname:chararray, age:int, city:chararray);
Maintenant nous pouvons store cette relation dans le répertoire HDFS nommé /pig_data/ en utilisant le BinStorage() fonction.
grunt> STORE student_details INTO 'hdfs://localhost:9000/pig_Output/mydata' USING BinStorage();
Après avoir exécuté l'instruction ci-dessus, la relation est stockée dans le répertoire HDFS donné. Vous pouvez le voir en utilisant le HDFSls command comme indiqué ci-dessous.
$ 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
Maintenant, chargez les données du fichier part-m-00000.
grunt> result = LOAD 'hdfs://localhost:9000/pig_Output/b/part-m-00000' USING BinStorage();
Vérifiez le contenu de la relation comme indiqué ci-dessous
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)