返回介绍

Pig 存储数据

发布于 2024-06-23 16:54:49 字数 5989 浏览 0 评论 0 收藏 0

在上一章中,我们学习了如何将数据加载到Apache Pig中。您可以使用store运算符将加载的数据存储在文件系统中。本章介绍如何使用Store运算符在Apache Pig中存储数据。

语法
下面给出了Store语句的语法。

  1. STORE Relation_name INTO ' required_directory_path ' [USING function];

假设我们在HDFS中有一个具有以下内容的文件Student_data.txt

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

如下所示,我们已使用LOAD运算符将其读入关系student。

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

现在,让我们将关系存储在HDFS目录“/pig_Output/”中,如下所示。

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

执行store语句后,您将获得以下输出。使用指定名称创建目录,数据将存储在其中。

  1. 2015-10-05 13:05:05,429 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.
  2. MapReduceLau ncher - 100% complete
  3. 2015-10-05 13:05:05,429 [main] INFO org.apache.pig.tools.pigstats.mapreduce.SimplePigStats -
  4. Script Statistics:
  5. HadoopVersion PigVersion UserId StartedAt FinishedAt Features
  6. 2.6.0 0.15.0 Hadoop 2015-10-0 13:03:03 2015-10-05 13:05:05 UNKNOWN
  7. Success!
  8. Job Stats (time in seconds):
  9. JobId Maps Reduces MaxMapTime MinMapTime AvgMapTime MedianMapTime
  10. job_14459_06 1 0 n/a n/a n/a n/a
  11. MaxReduceTime MinReduceTime AvgReduceTime MedianReducetime Alias Feature
  12. 0 0 0 0 student MAP_ONLY
  13. OutPut folder
  14. hdfs://localhost:9000/pig_Output/
  15. Input(s): Successfully read 0 records from: "hdfs://localhost:9000/pig_data/student_data.txt"
  16. Output(s): Successfully stored 0 records in: "hdfs://localhost:9000/pig_Output"
  17. Counters:
  18. Total records written : 0
  19. Total bytes written : 0
  20. Spillable Memory Manager spill count : 0
  21. Total bags proactively spilled: 0
  22. Total records proactively spilled: 0
  23. Job DAG: job_1443519499159_0006
  24. 2015-10-05 13:06:06,192 [main] INFO org.apache.pig.backend.hadoop.executionengine
  25. .mapReduceLayer.MapReduceLau ncher - Success!

您可以如下所示验证存储的数据。
第1步:
使用ls命令列出目录Pig_output中的文件,如下所示。

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

您可以观察到在执行store语句后创建了两个文件。

第2步:
使用cat命令,列出名为part-m-00000的文件的内容,如下所示。

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文