1.Pig是基于hadoop的一个数据处理的框架。
  MapReduce是使用java进行开发的,Pig有一套自己的数据处理语言,Pig的数据处理过程要转化为MR来运行。
2.Pig的数据处理语言是数据流方式的,类似于初中做的数学题。
3.Pig基本数据类型:int、long、float、double、chararray、bytearray
       复合数据类型:Map、Tuple、Bag
                                            Bag的类型如{('age',31),('name','张三')}

4.如何安装Pig(在hadoop0上安装)
4.1 把pig-0.11.1.tar.gz复制到/usr/local下
4.2 使用命令tar -zxvf pig-0.11.1.tar.gz解压缩
4.3 使用命令mv pig-0.11.1 pig 进行重命名
4.4 编辑文件vi /etc/profile 设置环境变量
    export PIG_HOME=/usr/local/pig
    export PATH =......:$PIG_HOME/bin....
    保存,然后执行source /etc/profile
4.5 编辑文件$PIG_HOME/conf/pig.properties,增加两行如下内容
    fs.default.name=hdfs://hadoop0:9000 (见/usr/local/hadoop/conf/core-site.xml)
    mapred.job.tracker=hadoop0:9001 (见/usr/local/hadoop/conf/mapred-site.xml)

5.对wlan数据(手机上网日志)如何使用pig进行分析处理
5.1 把待处理的数据上传到HDFS中
    hadoop fs -put HTTP.dat /wlan
5.2 把HDFS中的数据转换为pig可以处理的模式(执行pig命令,就进入到pig命令行模式下)
    A = LOAD '/wlan' AS (t0:long, msisdn:chararray, t2:chararray, t3:chararray, t4:chararray, t5:chararray, t6:long, t7:long, t8:long, t9:long, t10:chararray);
    DUMP A; ----查看

     

5.3 把里面的有用的字段抽取出来
    B = FOREACH A GENERATE msisdn, t6, t7, t8, t9;
    DUMP B;

     

5.4 分组数据
    C = GROUP B BY msisdn;
    DUMP C;

    

5.5 流量汇总
    D = FOREACH C GENERATE group, SUM(B.t6), SUM(B.t7), SUM(B.t8), SUM(B.t9); -----group代表第一列手机号码的字段(汇总出同一个手机号码的流量)
    DUMP D;

    

5.6 存储到HDFS中
    STORE D INTO '/wlan_result';
    查看HDFS:
      hadoop fs -lsr /
      hadoop fs -text /wlan_result/part-r-*

      

还可以排序:
  E = ORDER D BY group;
  DUMP E;

Pig的安装和简单使用的更多相关文章

  1. [hadoop系列]Pig的安装和简单演示样例

    inkfish原创,请勿商业性质转载,转载请注明来源(http://blog.csdn.net/inkfish ).(来源:http://blog.csdn.net/inkfish) Pig是Yaho ...

  2. Pig安装及简单使用(pig版本0.13.0,Hadoop版本2.5.0)

    原文地址:http://www.linuxidc.com/Linux/2014-03/99055.htm 我们用MapReduce进行数据分析.当业务比较复杂的时候,使用MapReduce将会是一个很 ...

  3. (转)python requests的安装与简单运用

    requests是python的一个HTTP客户端库,跟urllib,urllib2类似,那为什么要用requests而不用urllib2呢?官方文档中是这样说明的: python的标准库urllib ...

  4. MongoDB在Windows下安装、Shell客户端的使用、Bson扩充的数据类型、MongoVUE可视化工具安装和简单使用、Robomongo可视化工具(2)

    一.Windows 下载安装 1.去http://www.mongodb.org/downloads下载,mongodb默认安装在C:\Program Files\MongoDB目录下,到F:\Off ...

  5. python requests的安装与简单运用

    requests是python的一个HTTP客户端库,跟urllib,urllib2类似,那为什么要用requests而不用urllib2呢?官方文档中是这样说明的: python的标准库urllib ...

  6. memcache的windows下的安装和简单使用

    原文:memcache的windows下的安装和简单使用 memcache是为了解决网站访问量大,数据库压力倍增的解决方案之一,由于其简单实用,很多站点现在都在使用memcache,但是memcach ...

  7. 【RabbitMQ】RabbitMQ在Windows的安装和简单的使用

    版本说明 使用当前版本:3.5.4 安装与启动 在官网上下载其Server二进制安装包,在Windows上的安装时简单的,与一般软件没什么区别. 安装前会提示你,还需要安装Erlang,并打开下载页面 ...

  8. Thrift的安装和简单演示样例

    本文仅仅是简单的解说Thrift开源框架的安装和简单使用演示样例.对于具体的解说,后面在进行阐述. Thrift简述                                           ...

  9. libmemcached安装及简单例子

    libmemcached安装及简单例子 1.下载安装libmemcached  $ wget http://launchpad.net/libmemcached/1.0/0.44/+download/ ...

随机推荐

  1. 使用Githubdesktop管理Eclipse项目

    使用Githubdesktop管理Eclipse项目 觉得有用的话,欢迎一起讨论相互学习~[Follow] 方案 使用Eclipse创建项目,使用githubdesktop进行管理 项目右键, Tea ...

  2. ul标签的高度为0

    由于项目中使用ul+li的布局方式,在ie8.chrome浏览器中,包裹浮动的li元素的外层ul高度为0,ie7浏览器和ie8兼容模式显示正常,这是典型的浏览器兼容性问题. 解决办法: 第一种:设置u ...

  3. [转载].net程序集自动生成版本号

    原文:http://hi.baidu.com/bcbgrand/item/a74a7ba71c3b0ea928ce9dce .net程序版本号的格式是4个十进制数字 比如 2.5.729.2 依次是 ...

  4. Django外键关系:一对一、一对多,多对多

    1. 一对多 model.py class UserTest(models.Model): name = models.CharField(max_length = 16 ) sex = models ...

  5. js模拟自动点击事件

    1.直接上代码很直观 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> &l ...

  6. Linux基础-Shell脚本

    任务一目标:自动部署.初始配置.并启动nginx反向代理服务 把任务拆分来看-自动部署部分,就是先下载安装Nginx 首先建立一个很NB霸气的目录还有一个同样NB霸气的.sh文件 /NBshell/M ...

  7. JavaScript 优雅的实现方式包含你可能不知道的知识点

    有些东西很好用,但是你未必知道:有些东西你可能用过,但是你未必知道原理. 实现一个目的有多种途径,俗话说,条条大路通罗马.很多内容来自平时的一些收集以及过往博客文章底下的精彩评论,收集整理拓展一波,发 ...

  8. 利用phpMyAdmin提权

    利用phpMyAdmin提权 发表于 2016-03-31   |   分类于 phpMyAdmin  |   暂无评论  |   9次阅读 爆路径 /phpmyadmin/libraries/lec ...

  9. Python——杂记

    python 最近出错总结: 1.而for..in ..中不要用else if  x in y:     print  else:     print2.def fibs(num): ...     ...

  10. python进阶之函数和类内建魔法属性

    前言 关于对象的魔法方法我们已经讲得太多,但是对于类或函数内建的魔法属性和功能我们涉及较少,下面系统了解一下类和函数的内建属性. 查看内建属性 class Person(object): pass d ...