Hadoop(六)——子项目Pig

来源:互联网 发布:nginx css加载慢 编辑:程序博客网 时间:2024/05/01 16:29
前边,讲述了Hadoop的两大支柱HDFSMapReduce,我们通过将大数据的数据文件放在HDFS上,利用Java编写Map-Reduce,来实现数据的各种分析,并预测一些东西,实现大数据的商业价值,从而也体现了Hadoop价值所在。

 

    但是反观传统系统中,我们都是通过数据库进行数据分析的,例如关系型数据库:Oracle,SQL Server,MySQL等,更进一步的通过NO SQL数据库:MongoDB等。对于Hadoop大数据分析,我们如何能够快速而平滑的过度过来呢,以至于不会Java的也能够进行利用hadoop进行数据分析呢。好,Hadoop的子项目为我们解决了这个难题:PigHive。好,这篇博客来看看Pig是如何操作Hadoop的。

 

    一,Pig是什么:


    PigYahoo捐献给Apache的一个项目。相当于Hadoop的一种客户端,属于Hadoop的上层衍生架构,将Map-Reduce进行封装。通过Pig客户端用户可以使用Pig latin 一种类似于SQL的面向数据流的语言对HDFS下的数据进行处理。说简单一点Pig就是pig latin数据流语言和Map-Reduce之间的翻译,类似于不同语言直接的接口。所以有人说,Pig包括Pig InterfacePig latin两部分。好看下边这个图:



   二,Pig两种运行模式:


        1,本地模式:所有文件和执行过程都在本地执行,一般用于测试程序。开启本地模式:pig -x local


        2MapReduce模式:实际工作模式,Pig将查询翻译为MapReduce作业,然后在Hadoop集群上执行。

     

    三,安装Pig:


        1,下载解压:到Apache官网下载Pig,我下载的是:pig-0.15.0.tar.gz,放到了Hadoop的同路径下(自己定);解压:tar-xvf pig-0.15.0.tar.gz


        2,设置环境变量:vi/etc/profile  设定pigbin路径和Jdk的路径即可。重启即可完成本地模式安装.

   Export PATH=$PATH:/home/ljh/pig-0.15.0/bin

   Export JAVA_HOME=/usr/jdk1.8.0_51

 

        3MapReduce模式配置,设置hadoop的相关环境变量,重启,直接使用pig进行MapReduce模式运行。

           ExportPATH=$PATH:/home/ljh/pig-0.15.0/bin/home/ljh/hadoop-1.2.1/bin

           ExportJAVA_HOME=/usr/jdk1.8.0_51

           ExportPIG_CLASSPATH=/home/ljh/hadoop-1.2.1/conf/

 

    四,grund shell命令:


    进入grunt,可以使用类似Linux命令进行各种操作,和linux很像的,大家实验一下即可:

    例如:ls,cd catlinux完全一样,只不过是在hadoop的环境下;

          copyToLocal将文件复制到本地,copyFromLocal从本地复制文件到hadoop环境;

          sh,用来执行操作系统的命令,例如:sh  /usr/jdk/bin/jps。好看下边一个图,不懂的可以查下。



   五,pig的数据模型,和传统数据的模型简单对比:

                

Pig

数据库

Bag

Tuple

Field

属性


      注意:pig同一个bag里边的各个tuple可以由不同数量不同类型的field,和传统数据库是不一样的。

 

    六,pig latin(类似与SQL的向数据流的语言)


      1,常用语句:


       2,对应各种SQL,看此篇博客,很好:http://guoyunsky.iteye.com/blog/1317084


       3,更多语法,看此篇博客,很详细:http://blackproof.iteye.com/blog/1791980

      

     pig latin就是一种语言,而且是相对来说比较简单语言,在我们使用的时候,我们现查现用即可。无在乎对数据的各种查询,过滤等。

 

    小结:好,pig的知识相对来说比较少,安装容易,使用方便,需要多学的就是pig latin这个脚本语言的熟练,更多的各种语法,会查会用即可。Pig,hadoop的上层衍生框架,使操作hadoop多了一种方式,现在有了:javamapreduce,pigpig latin,当然还有后边的hiveHiveql,后边会讲到。总而言之,多理解,多看各种资料,多实践……


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 3个月宝宝吓到了怎么办 宝宝吓着了发烧怎么办 好几个月不遗精怎么办 孕妇吃了黑橄榄怎么办 内膜4mm来月经了怎么办 吃了伟哥没效果怎么办 维a酸乳膏副作用怎么办 颈椎病引起的头晕恶心怎么办 经常头疼怎么办最快最有效 感昌了头晕乏力怎么办 来例假喝啤酒了怎么办 来月经喝啤酒了怎么办 吃的油腻长痘怎么办 兔子拉黑色稀便怎么办 宝宝补钙便秘了怎么办 吃了肾宝片上火怎么办 吃肾宝片就上火怎么办 吃肾宝片后上火怎么办 孕妇吃了扁桃仁怎么办 怀孕吃了扁桃仁怎么办 经期吃了阿胶糕怎么办 10儿童咳嗽有痰怎么办 6岁宝宝咳嗽有痰怎么办 儿童6岁咳嗽有痰怎么办 零号胶囊用多了怎么办 7岁半乳房发育,怎么办 妊娠斑怎么办,能去掉吗 跨域访问被拒绝怎么办 月子里半夜饿了怎么办 5岁儿童包茎该怎么办 6岁儿童包茎该怎么办 1岁半乳房发育,怎么办 4岁智力发育迟缓怎么办 儿童换牙长得慢怎么办 幼儿牙齿长得慢怎么办 小孩骨骼发育不好该怎么办 宝宝身高长得慢怎么办 多肉生长点坏了怎么办 试管胚胎长得慢怎么办 来月经头痛想吐怎么办 经期量多时间长怎么办