pig使用入门2

1、练习

  首先编写两个数据文件A:

  0,1,2

  1,3,4

  数据文件B:

  0,5,2

  1,7,8

  上传到HDFS对应目录/input目录下

2、运行pig ,加载A和B

  加载数据A:使用指定的分隔符,

    grunt> a = load ‘/input/A‘ using PigStorage(‘,‘) as (a1:int, a2:int, a3:int);

  加载数据B:

  grunt> b = load ‘/input/B‘ using PigStorage(‘,‘) as (b1:int, b2:int, b3:int);

3、求a,b的并集

  grunt> c = union a, b;

  grunt> dump c;

  (0,5,2)

  (1,7,8)

  (0,1,2)

  (1,3,4)

4、

  将c分割为d和e,其中d的第一列数据值为0,e的第一列的数据为1($0表示数据集的第一列):

  grunt> split c into d if $0 == 0, e if $0 == 1;

  查看d:

  grunt> dump d;

    (0,1,2)

    (0,5,2)

  查看e:

    (1,3,4)

    (1,7,8)

5、选择C中的一部分数据(第二列值大于3的记录)

  grunt> f = filter c by $1 > 3;

  查看数据f:

  grunt> dump f;

    (0,5,2)

    (1,7,8)

6、对数据进行分组

  grunt> g = group c by $2;

  查看g:

  grunt> dump g;

     (2,{(0,1,2),(0,5,2)})

    (4,{(1,3,4)})

    (8,{(1,7,8)})

7、将所有的元素集合到一起

  grunt> h = group c all;

  grunt> dump h;

    (all,{(0,1,2),(1,3,4),(0,5,2),(1,7,8)})

8、join操作

  grunt> j = join a by $2, b by $2;

  该操作类似于sql中的连表查询,这是的条件是$2 == $2。

  取出c的第二列$1和$1 * $2,将这两列保存在k中

9、对列进行计算

  grunt> k = foreach c generate $1, $1 * $2;

  查看k的内容:

  grunt> dump k;

    (5,10)

    (7,56)

    (1,2)

    (3,12)

  

  

  

pig使用入门2,布布扣,bubuko.com

时间: 2024-10-13 21:21:47

pig使用入门2的相关文章

pig使用入门1

1.在pig下载的安装包,解压完成了之后,有一个tutorial目录,我们使用里面的数据来开始pig学习.如果tutorial目录下没有存在pigtutorial.tar.gz文件的话,那么需要使用ant来编译出这个文件 如果没有ant,见分类linux下的ant安装 2.进入tutorial目录,执行命令ant 得到pigtutorial.tar.gz 3.使用tar -zxvf pigtutorial.tar.gz 解压 4.上传excite-small.log进入hdfs中 $>hadoo

pig使用入门3-UDF的使用

1.Working with UDF(user defined function) pig能够支持两种类型的UDFs:eval和load/store, 其中load/store的自定义函数主要是用来加载和保存特定的数据格式: eval自定义函数主要用来进行常规的数据转换. 1.1 eval 如果想要实现自定义的eval类型的函数,编写一个类继承自EvalFunc<T>这个抽象类,重写这个类的抽象方法: abstract public T exec(Tuple input) throws IOE

Apache Pig入门学习文档(一)

1,Pig的安装    (一)软件要求    (二)下载Pig      (三)编译Pig 2,运行Pig    (一)Pig的所有执行模式    (二)pig的交互式模式    (三)使用pig脚本执行模式 3,Pig  Latin语句的声明     (一)加载数据     (二)使用和处理数据    (三)存储中间数据 (四)存储最终数据 (五)调试Pig Latin语言 4,Pig的属性值管理 5,Pig一些注意事项 1,Pig的安装 (一)软件安装 必须配置: (1)hadoop 下载地

Hadoop:pig 安装及入门示例

pig是hadoop的一个子项目,用于简化MapReduce的开发工作,可以用更人性化的脚本方式分析数据. 一.安装 a) 下载 从官网http://pig.apache.org下载最新版本(目前是0.14.0版本),最新版本可以兼容hadop 0.x /1.x / 2.x版本,直接解压到某个目录即可. 本文的解压目录是:/Users/jimmy/app/pig-0.14.0 b) 环境变量 export PIG_HOME=/Users/jimmy/app/pig-0.14.0 export H

React开发入门

目录: 一.前言 二.什么是React 三.开发环境搭建 四.预备知识 五.最简单的React小程序 六.基础语法介绍 七.总结 八.参考资料 一.前言 近段时间看到学长公司招聘React Native工程师,当时比较好奇,就搜索了一下,然后刚好需要每个月买一本书看看,所以就买了一本<Reactive Native 开发指南>. 但是看到里面的预备知识的时候,发现首先最好需要先了解一下React(书中写道:我们假设你对React已经有了一些了解),心想是不是还要买一本React的书籍,后来想想

大数据入门:各种大数据技术介绍

转自:http://www.aboutyun.com/thread-7569-1-1.html 大数据我们都知道hadoop,可是还会各种各样的技术进入我们的视野:Spark,Storm,impala,让我们都反映不过来.为了能够更好的架构大数据项目,这里整理一下,供技术人员,项目经理,架构师选择合适的技术,了解大数据各种技术之间的关系,选择合适的语言.我们可以带着下面问题来阅读本文章:1.hadoop都包含什么技术2.Cloudera公司与hadoop的关系是什么,都有什么产品,产品有什么特性

ElasticSearch入门之花落红尘(三)

上篇文章散仙介绍了ElasticSearch的入门安装和使用,那么本篇我们来看下,如何使用java api来和ElasticSearch进行交互,简单点说,就是实现一个增删改查,来找找入门的感觉. 在这里散仙解释一下,为啥选择使用Java api来作为一个入门的例子,主要原因如下: (1)Java在大中小型企业级应用非常广泛,而且ES本身就是包装了使用java编写的Apache Lucene. (2)基于java的api能和其他很多基于hadoop生态系统的开源框架对接,如Hbase,Hive,

Linux 入门学习之bash基础原理之一

Linux入门之bash基础 编程语言分类: 机器语言.汇编语言.高级语言 静态语言:编译型语言 特点: 变量为强类型 实现转化为一定的可执行格式 常见:C.C++.JAVA.C#.Object-C 注意:一般需要解释器的编程语言一般为静态语言 动态语言:解释性语言 特点: 变量未弱类型,边解释边执行 常见: PHP.SHELL.python.perl lua : 嵌入式脚步语言 编程语言的模型.思想分类 面向过程: shell,C 面向对象: java,python,perl,c++ 一个变量

Hive入门笔记-----架构以及应用介绍

Hive这个框架在Hadoop的生态体系结构中占有及其重要的地位,在实际的业务当中用的也非常多,可以说Hadoop之所以这么流行在很大程度上是因为Hive的存在.那么Hive究竟是什么,为什么在Hadoop家族中占有这么重要的地位,本篇文章将围绕Hive的体系结构(架构).Hive的操作.Hive与Hbase的区别等对Hive进行全方面的阐述. 在此之前,先给大家介绍一个业务场景,让大家感受一下为什么Hive如此的受欢迎: 业务描述:统计业务表consumer.txt中北京的客户有多少位?下面是