码迷,mamicode.com
首页 > 其他好文 > 详细

PIG小结

时间:2015-07-30 22:49:47      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:

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

 

 
 
 
 
 
 
 
 
 
 
 
 

PIG小结

标签:

原文地址:http://www.cnblogs.com/thinkpad/p/4690720.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!