Apache Pig - Verilerin Saklanması
Önceki bölümde, verileri Apache Pig'e nasıl yükleyeceğimizi öğrendik. Yüklenen verileri dosya sisteminde saklayabilirsiniz.storeŞebeke. Bu bölüm, verilerin Apache Pig'de nasıl saklanacağını açıklar.Store Şebeke.
Sözdizimi
Aşağıda, Mağaza bildiriminin sözdizimi verilmiştir.
STORE Relation_name INTO ' required_directory_path ' [USING function];
Misal
Bir dosyamız olduğunu varsayalım student_data.txt aşağıdaki içeriğe sahip HDFS'de.
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.
Ve onu bir ilişkiye okuduk student LOAD operatörünü aşağıda gösterildiği gibi kullanarak.
grunt> student = LOAD 'hdfs://localhost:9000/pig_data/student_data.txt'
USING PigStorage(',')
as ( id:int, firstname:chararray, lastname:chararray, phone:chararray,
city:chararray );
Şimdi ilişkiyi HDFS dizininde saklayalım “/pig_Output/” Aşağıda gösterildiği gibi.
grunt> STORE student INTO ' hdfs://localhost:9000/pig_Output/ ' USING PigStorage (',');
Çıktı
Çalıştırdıktan sonra storeifadesi, aşağıdaki çıktıyı alacaksınız. Belirtilen adla bir dizin oluşturulur ve veriler bu dizinde depolanır.
2015-10-05 13:05:05,429 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.
MapReduceLau ncher - 100% complete
2015-10-05 13:05:05,429 [main] INFO org.apache.pig.tools.pigstats.mapreduce.SimplePigStats -
Script Statistics:
HadoopVersion PigVersion UserId StartedAt FinishedAt Features
2.6.0 0.15.0 Hadoop 2015-10-0 13:03:03 2015-10-05 13:05:05 UNKNOWN
Success!
Job Stats (time in seconds):
JobId Maps Reduces MaxMapTime MinMapTime AvgMapTime MedianMapTime
job_14459_06 1 0 n/a n/a n/a n/a
MaxReduceTime MinReduceTime AvgReduceTime MedianReducetime Alias Feature
0 0 0 0 student MAP_ONLY
OutPut folder
hdfs://localhost:9000/pig_Output/
Input(s): Successfully read 0 records from: "hdfs://localhost:9000/pig_data/student_data.txt"
Output(s): Successfully stored 0 records in: "hdfs://localhost:9000/pig_Output"
Counters:
Total records written : 0
Total bytes written : 0
Spillable Memory Manager spill count : 0
Total bags proactively spilled: 0
Total records proactively spilled: 0
Job DAG: job_1443519499159_0006
2015-10-05 13:06:06,192 [main] INFO org.apache.pig.backend.hadoop.executionengine
.mapReduceLayer.MapReduceLau ncher - Success!
Doğrulama
Depolanan verileri aşağıda gösterildiği gibi doğrulayabilirsiniz.
Aşama 1
Her şeyden önce, adlı dizindeki dosyaları listeleyin pig_output kullanmak ls komutu aşağıda gösterildiği gibi.
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
Çalıştırdıktan sonra iki dosyanın oluşturulduğunu görebilirsiniz. store Beyan.
Adım 2
Kullanma cat komut, adlı dosyanın içeriğini listeleyin part-m-00000 Aşağıda gösterildiği gibi.
$ 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