Apache Pig - PigStorage ()

le PigStorage()La fonction charge et stocke les données sous forme de fichiers texte structurés. Il prend un délimiteur à l'aide duquel chaque entité d'un tuple est séparée en tant que paramètre. Par défaut, il faut‘\t’ comme paramètre.

Syntaxe

Ci-dessous, la syntaxe du PigStorage() fonction.

grunt> PigStorage(field_delimiter)

Exemple

Supposons que nous ayons un fichier nommé student_data.txt dans le répertoire HDFS nommé /data/ avec le contenu suivant.

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.

Nous pouvons charger les données en utilisant la fonction PigStorage comme indiqué ci-dessous.

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

Dans l'exemple ci-dessus, nous avons vu que nous avons utilisé la virgule (‘,’)délimiteur. Par conséquent, nous avons séparé les valeurs d'un enregistrement en utilisant(,).

De la même manière, nous pouvons utiliser le PigStorage() pour stocker les données dans le répertoire HDFS comme indiqué ci-dessous.

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

Cela stockera les données dans le répertoire donné. Vous pouvez vérifier les données comme indiqué ci-dessous.

Vérification

Vous pouvez vérifier les données stockées comme indiqué ci-dessous. Tout d'abord, listez les fichiers dans le répertoire nommépig_output en utilisant ls comme indiqué ci-dessous.

$ 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

Vous pouvez observer que deux fichiers ont été créés après l'exécution du Store déclaration.

Ensuite, en utilisant le cat commande, listez le contenu du fichier nommé part-m-00000 comme indiqué ci-dessous.

$ 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