`

hadoop之在集群上跑Pig脚本语言

阅读更多

Step1:

 

  我们要在本地创建一个存放数据的txt文件,我们命名为studentdata.txt里面存放的数据如下:

001:林:59
002:唐:100
003:施:61
004:王:78
005:张:76
006:李:52

 

 

 

Step2:

       将本地创建的数据传到namenode下面,

 

    先在我们的/mnt/tmp/下面创建一个input_tms目录,用来存放我们上传的文件

 

    先cd 到/mnt/tmp目录下

 

    然后mkdir input_tms

        最后查看ls /mnt/tmp

        

 

 

 

然后cd到创建的目录下

 

cd /mnt/tmp/input_tms/


 

 

 

然后执行rz,上传我们的数据文档studentdata.txt


 

 

在弹出来的选择框中选择我们的文档studentdata.txt


 

点击打开,上传成功显示如下,点击关闭:


 

 

接下来将本地传入的在/mnt/tmp/input_tms下面的studentdat.txt传到HDFS中

先在hdfs下创建一个input_tms目录,这个目录和上面的那个不同,这里只是名字相同了便于管理,他用来接收我们传入的studentdata.txt。相当于本地的数据传了两次,一次到namenode下面,然后到hdfs系统里面

先cd回来

 

cd /


 

 

然后新建一个目录:input_tms

 

hadoop fs –mkdir /input_tms,这里显示已经存在,因为我之前就已经创建了。


 

 

查看是否创建成功,看到我们的input_tms,表明成功

 

命令:hadoop fs –ls /



 

 

然后执行

 

hadoop fs –put /mnt/tmp/input_tms/studentdata.txt /input_tms ,传到HDFS系统中

 

第一个input_tms是上上面的,第二个input_tms是上一步创建的,注意!!!


 

 

然后查看是否传入成功

 

hadoop fs –ls /input_tms/   看到我们的studentdata.txt表明成功


 

 

Step3

本地创建一个Pig脚本,Pig脚本是以.pig结尾的,在这个例子中命名为tmspig.pig采用编辑器进行打开然后编辑,在里面写入脚本

A = load '/input_tms/studentdata.txt' using PigStorage(':') as (sno:chararray, sname:chararray,  sscore:int);

B = foreach A generate sno, sscore;

dump B;

store B into '/input_tms/result.txt';

Ps:目前还没有具体研究过pig脚本的语法,但是大体的意思我们还是能看懂。他和studentdata.txt联系起来了通过一个URL.然后我们的结果输出是他们的号码snosscore

 

注意后面的类型,和上面我们传入的数据比较,字符串类型的是chararray,整形的就是int

然后将脚本文件传入到/mnt/tmp/input_tms/目录下,这里就不啰嗦了,将他和上面的studentdata.txt放在一起。

 

 

Pig脚本是不用传入到HDFS中去的,(开始我就传了,后面就错了!!!)

 

 

我们可以查看是否成功的把我们的脚本传入了

cd  /mnt/tmp/input_tms/

 

然后 ls  


 这个时候看到我们的/mnt/ymp/input_tms/目录下面有两个文件了,一个是studentdata.txt,一个是我们本地的pig脚本tmspig.pig

 

 

Step4执行我们的脚本,语言,就一句话

 

pig /mnt/tmp/input_tms/tmspig.pig


 然后就是等了

最后会出来这样的画面,最后面一个单词是success!表明成功了



 

注意上面的两个东西:Input(s):显示了我们的传入到HDFS中数据文件的路径,

 

                                     Output(s):结果输出在哪里和接收结果的文档名字“results.txt

                                     这个result.txt在我们脚本语言里面声明了的,还要注意的是我  

                                      们每次运行的时候Output下面接收结果的文档的名字还要不同,否则会报错

 

 

 

下面我们可以看看我们的input_tms目录下,这时你会发现多了一个result.txt文件

 

hadoop fs -ls /input_tms/


 

 

接下来查看我们的结果

 

hadoop fs -cat /input_tms/result.txt/*    后面的/*不能少,否则看不到结果

 

 

总结:

算是在集群上面跑了一个pig脚本的程序了,只是熟悉了一下操作,pig脚本的语法还没有去研究和学习,需要注意的是我们本地的数据文件要经过两次传递,第二次是传入到HDFS中去,而pig脚本只需要经过一次上传就可以了。
 

  • 大小: 60.8 KB
  • 大小: 35.1 KB
  • 大小: 25.1 KB
  • 大小: 147.3 KB
  • 大小: 64.6 KB
  • 大小: 9.1 KB
  • 大小: 43.4 KB
  • 大小: 138.4 KB
  • 大小: 37.4 KB
  • 大小: 47.3 KB
  • 大小: 96.6 KB
  • 大小: 28.8 KB
  • 大小: 133 KB
  • 大小: 52.8 KB
  • 大小: 44.7 KB
1
0
分享到:
评论

相关推荐

    HADOOP 系统之hadoop pig hive 整合版

    通过阅读这本书,你可以深入了解Hadoop的内部工作机制,如何管理Hadoop集群,以及如何编写MapReduce程序来处理数据。 **Hive** 是基于Hadoop的数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供SQL-...

    完整版大数据云计算课程 Hadoop数据分析平台系列课程 Hadoop 08 Pig安装与Pig Latin语言,应用案例 共2

    首先,课程会介绍如何在本地环境或Hadoop集群上安装Pig。安装过程包括获取Pig的源码或者二进制包,配置Hadoop环境,将Pig添加到Hadoop的类路径中,以及启动Pig的交互式shell(Pig grunt shell)。了解这些基础步骤是...

    Hadoop、HBase、Hive、Pig、Zookeeper资料整理

    4. **Pig**:Apache Pig是Hadoop生态系统中的一个高级数据分析平台,它提供了一种称为Pig Latin的脚本语言,用于处理和分析大规模数据。Pig Latin抽象了MapReduce,使得用户无需直接编写Java代码即可实现复杂的数据...

    Apache Hadoop---Pig.docx

    Pig 构建在 Hadoop 平台上,通过提供一个名为 Pig Latin 的高级抽象语言,简化了在 Hadoop 上进行数据分析的过程。Pig Latin 允许数据工程师用简单的语句来描述复杂的分析任务,减少了直接编写 MapReduce 作业的复杂...

    hadoop_hbase_pig

    Hadoop是一个开源框架,主要用于处理和存储大量数据,而HBase是建立在Hadoop之上的分布式列式数据库,Pig则是一个用于大数据分析的高级脚本语言。接下来,我们将深入探讨这三个关键组件。 1. **Hadoop**: Hadoop...

    完整版大数据云计算课程 Hadoop数据分析平台系列课程 Hadoop 08 Pig安装与Latin语言 共26页.pptx

    Pig Latin可以看作是一种轻量级的脚本语言,其编写的脚本会被转化为Map-Reduce任务在Hadoop集群上执行。Pig的安装包括下载安装包、设置环境变量、验证安装等步骤,同时,Pig提供了多种工作模式,如本地模式和...

    Programming Pig Dataflow Scripting with Hadoop 2nd EditionPDF

    3. **Pig与Hadoop集成**:书中会讲解如何配置和部署Pig,以及如何在Hadoop集群上运行Pig脚本。这包括设置环境变量,提交作业,以及监控作业执行状态。 4. **数据加载与存储**:Pig支持多种数据格式,包括CSV、JSON...

    Hadoop大数据技术-pig操作

    5. **流式处理与并行计算**:Pig会自动将Pig Latin语句转化为一系列MapReduce任务,这些任务在Hadoop集群中并行执行,极大地提高了处理速度。例如,一个JOIN操作会被分解为多个MapReduce作业,每个作业处理一部分...

    Hadoop技术-Pig简介.pptx

    4. **可扩展性**:Pig允许用户自定义函数(UDF),可以使用Java等其他编程语言编写,并在Pig脚本中调用,增加了灵活性和处理能力。 5. **处理多种数据**:Pig不仅处理结构化数据,也能处理半结构化和非结构化数据,...

    pig-0.9.1.tar

    运行这个脚本,Pig将会自动将其转化为MapReduce任务并在Hadoop集群上执行。 总结,Pig-0.9.1作为Hadoop生态中的重要组件,提供了高效的数据处理能力。通过理解Pig Latin语言和正确配置,用户可以充分利用Hadoop的...

    阿里Hadoop集群架构及服务体系

    本文将深入探讨阿里在Hadoop集群上的构建方式和服务体系,帮助读者理解如何在企业级环境中部署和管理Hadoop。 Hadoop是一个开源的分布式计算框架,它允许在大规模硬件集群上处理海量数据。阿里巴巴作为全球领先的...

    Hadoop技术Pig简介共11页.pdf.zip

    Pig将Pig Latin脚本转化为一系列MapReduce任务,这些任务在Hadoop集群上并行执行,实现了对大规模数据的高效处理。 在Pig中,数据通常以“bags”(多对一的集合)、“tuples”(元组,类似于数组)和“fields”...

    hadoop 入门

    Pig提供了一种脚本语言(Pig Latin),而Hive则构建于SQL之上,简化了查询复杂数据集的过程。 3. **Hadoop 集群配置和使用技巧** 配置Hadoop集群涉及多个层面,包括硬件选择、网络规划、软件安装及参数调优。以下...

    pig-0.12.1.tar.gz

    【描述】中提到的"Pig"是一个开源的数据流处理框架,它构建于Hadoop之上,提供了一种高级语言(称为Pig Latin)来编写处理大数据集的脚本。Pig Latin是一种声明性语言,使得数据分析师可以专注于数据转换逻辑,而...

    hadoop权威指南天气测试案例和执行脚本

    6. **执行脚本**:这部分可能是用Java、Python或Hadoop的其他支持语言(如Pig、Hive、Spark)编写的,用于自动化数据处理流程,包括提交MapReduce作业、监控作业状态等。 通过这个测试案例,读者不仅可以学习到...

    Apache Hadoop和Hadoop生态系统.pdf

    7. Oozie:是Hadoop作业调度和管理系统,可以安排和管理MapReduce作业、Pig脚本、Hive查询以及其他的Hadoop相关任务。 Hadoop生态系统的不断发展和扩展,引入了许多其他项目,如YARN(用于资源管理和调度)、Tez...

Global site tag (gtag.js) - Google Analytics