PIG小结

Pig是什么?其体系结构简介?

Pig的安装?

Pig数据类型,操作*

Pig处理数据***

---------------------------加深拓展----------------------

Pig的自定义函数*

------------------------------------------

什么是PIG呢?

Pig是hadoop生态圈中专门处理数据的框架,类似于Hive。

Pig提供了一套流式的数据处理语言,转换为MapReduce,处理HDFS中的数据。

PIG处理数据首先要加载 ,然后进行处理,处理完成之后再送回去。

PIG的安装。

直接解压缩,执行bin/pig,就进入到grunt命令行。

PIG的常用命令

LOAD

  a = load ‘/user.data‘;dump a;  //默认加载的是制表符分隔的文件

  b = load ‘/user.data2‘ using PigStorage(‘;‘);dump b;  //加载文件时,指定分隔符

  c = load ‘/user.data‘ using HBaseStorage;//可以加载hbase数据

  d = load ‘/user.data‘ as (id, name);dump d;

  e = load ‘/user.data‘ as (id:int, name:bytearray);dump e;

describe e;

describe 显示关系的结构

store...into... 写入到hdfs中

store e into ‘/user.data3‘

foreach...generate... 迭代每一行记录

f = foreach a generate $0 as id, $1 as name;dump f;

g = foreach e generate id,name;dump g;

filter...by... 过滤

h = filter f by id>1;dump h;

group...by... 分组

group h by uid;

order...by... 排序

i = order h by uid desc;

distinct 去重复

i = distinct h;

limit 限制记录数

l = limit h 50;

sample取样

m = sample h 0.1;

join合并

n = join user by id, role by uid;

parallel并行

只用于reduce阶段,对map阶段无效;

触发reduce阶段的操作有:group*、order、distinct、join*、cogroup*、cross。

group h by id parallel 10;

自定义过滤函数:

继承FilterFunc

使用register注册

register jar.jar;

使用define起别名

define isValid pig.IsValid();

调用

--------------------

JAVACONDE

先得注册自定义函数

register  /mnt/home/cr00/jar.jar

给函数起别名

define

传参

homework

2.给个文件进行传参

vi ref.file

ref=3

pig  -m    ref.file  homework.pig

时间: 2024-11-25 14:40:28

PIG小结的相关文章

Hadoop(六)——子项目Pig

前边,讲述了Hadoop的两大支柱HDFS和MapReduce,我们通过将大数据的数据文件放在HDFS上,利用Java编写Map-Reduce,来实现数据的各种分析,并预测一些东西,实现大数据的商业价值,从而也体现了Hadoop价值所在. 但是反观传统系统中,我们都是通过数据库进行数据分析的,例如关系型数据库:Oracle,SQL Server,mysql等,更进一步的通过NO SQL数据库:mongoDB等.对于Hadoop大数据分析,我们如何能够快速而平滑的过度过来呢,以至于不会Java的也

博弈论类题目小结——转载

出处http://blog.csdn.net/ACM_cxlove?viewmode=contents    by---cxlove 首先当然要献上一些非常好的学习资料: 基础博弈的小结:http://blog.csdn.net/acm_cxlove/article/details/7854530 经典翻硬币游戏小结:http://blog.csdn.net/acm_cxlove/article/details/7854534 经典的删边游戏小结:http://blog.csdn.net/acm

php数组函数小结

<?php header('content-type:text/html;charset=utf-8;'); /*小结数组的使用*/ #1.array():定义数组eg: $arr1=array('a','b','c','d'); $arr3=array('c','d','e','f'); $arr2=array('kA1'=>'v1','kA2'=>'v2','kA3'=>'v3'); $arr4=array('kA1'=>'v1','kA2'=>'v2','kA3'

Hadoop、Pig、Hive、NOSQL 学习资源收集

(一)hadoop 相关安装部署 1.hadoop在windows cygwin下的部署: http://lib.open-open.com/view/1333428291655 http://blog.csdn.net/ruby97/article/details/7423088 http://blog.csdn.net/savechina/article/details/5656937 2.hadoop 伪分布式安装: http://www.thegeekstuff.com/2012/02/

面向对象进阶小结

面向对象进阶小结 一.面向对象进阶小结 面向对象最本质解决的问题就是:提供可扩展性 类与对象:程序中必须现有类,再有对象 类中有属性,有方法 绑定方法:定义在类内部,没有装饰器装饰的方法都是对象的绑定方法,需要对象来调用,对象调用的时候,会把自身传入 1.1 类的继承 继承父类,则会有父类的所有属性和方法 class ParentClass1(): pass class ParentClass2(): pass class SubClass(ParentClass1,ParentClass2):

使用Apache POI导出Excel小结--导出XLS格式文档

使用Apache POI导出Excel小结 关于使用Apache POI导出Excel我大概会分三篇文章去写 使用Apache POI导出Excel小结--导出XLS格式文档 使用Apache POI导出Excel小结--导出XLSX格式文档 使用Apache POI导出Excel--大数量导出 导出XLS格式文档 做企业应用项目难免会有数据导出到Excel的需求,最近在使用其,并对导出Excel封装成工具类开放出来供大家参考.关于Apache POI Excel基本的概念与操作我在这里就不啰嗦

【转载】小结一下linux 2.6内核的四种IO调度算法

在LINUX 2.6中,有四种关于IO的调度算法,下面综合小结一下: 1) NOOP NOOP算法的全写为No Operation.该算法实现了最最简单的FIFO队列,所有IO请求大致按照先来后到的顺序进行操作.之所以说“大致”,原因是NOOP在FIFO的基础上还做了相邻IO请求的合并,并不是完完全全按照先进先出的规则满足IO请求.NOOP假定I/O请求由驱动程序或者设备做了优化或者重排了顺序(就像一个智能控制器完成的工作那样).在有些SAN环境下,这个选择可能是最好选择.Noop 对于 IO

Android基础入门教程——8.1.3 Android中的13种Drawable小结 Part 3

Android基础入门教程--8.1.3 Android中的13种Drawable小结 Part 3 标签(空格分隔): Android基础入门教程 本节引言: 本节我们来把剩下的四种Drawable也学完,他们分别是: LayerDrawable,TransitionDrawable,LevelListDrawable和StateListDrawable, 依旧贴下13种Drawable的导图: 1.LayerDrawable 层图形对象,包含一个Drawable数组,然后按照数组对应的顺序来

Android基础入门教程——8.1.2 Android中的13种Drawable小结 Part 2

Android基础入门教程--8.1.2 Android中的13种Drawable小结 Part 2 标签(空格分隔): Android基础入门教程 本节引言: 本节我们继续来学习Android中的Drawable资源,上一节我们学习了: ColorDrawable:NinePatchDrawable: ShapeDrawable:GradientDrawable!这四个Drawable~ 而本节我们继续来学习接下来的五个Drawable,他们分别是: BitmapDrawable:Insert