1.
加载数据:
records
=load './Desktop/data.txt' using PigStorage as
(year:int,temperature:int, quality:int);
2.
查看数据:
dump
records;
3.
根据
quality
字段对
records
数据进行分组:
grouped_records
=group records by quality;
4.
对分组数据进行统计
,
查看每种质量的天气数据:
count_records
=foreach grouped_records generate group,COUNT($1);
如果出现下面的错误:
ERROR
org.apache.pig.tools.grunt.Grunt - ERROR 1070: Could not resolve
count using imports: [, org.apache.pig.builtin.,
org.apache.pig.impl.builtin.]
一般都是因为使用的函数的大小写问题,如上面的
COUNT
join
的使用:
1.
记载另一个关系:
temp_records
=load './Desktop/data-1.txt' using PigStorage as
(year:int,temperature:int);
2.
将
temp_records
关系与
recirds
连接:
join_records
=join records by year, temp_records by year;
3.
查看数据:
dump
join_records;
按照
records
的
year
列进行排序
,
默认情况下为升序:
order_records
=order records by year;
降序排序:
order_records
=order records by year desc;
存储数据到自己的目录下:
store
records into './Desktop/result';
查看存储的数据:
cat
./Desktop/result;
看数据的交集:
cross_records
=cross records,temp_records;
去除重复的行:
distinct_records
=distinct temp_records;
pig
的数据加载都不是第一时间的,在使用
dump
命令的时候,才进行数据的加载
foreach
的使用:
foreach_records
=foreach records generate $0;
SUM
的使用:
1.
按照年份分组数据:
grouped_records
=group temp_records by year;
2.
计算每个年份温度的总和:
sum_records
=foreach grouped_records generate
group,SUM(temp_records.temperature);
将
bag
包展开,具体应用还不清楚:
flatten_records
=foreach grouped_records generate group,flatten(temp_records);
limit
应用:
limit_records
=limit records 10;
union
应用:
union_records
=union records,temp_records;
1.load
data:
records
=load './Desktop/data-2.txt' using PigStorage
as(name:chararray,age:int,sex:int);
2.
对数据按性别进行分组
:
temp_records
=group records by sex;
3.AVG
平均函数的树用:
avg_records
=foreach temp_records generate group,AVG(records.age);
4.CONCAT
连接函数的使用:
concat_records
=foreach records generate CONCAT('001-',name);
注意连接操作不能对
int
行使用
5.COUNT
函数的使用:
count_records
=foreach temp_records generate group,COUNT(records);
6.MAX
函数的使用:
max_records
=foreach temp_records generate group,MAX(records.age);
7.MIN
函数的使用:
min_records
=foreach temp_records generate group,MIN(records.age);
8.SIZE
函数统计字母的个数:
size_records
=foreach records generate SIZE(name);
9.SUM
求和函数的使用:
sum_records
=foreach temp_records generate group,SUM(records.age);
10.TOKENIZE
分割函数的使用:
t_records
=load './Desktop/data-3.txt' as(str:chararray);
tokenize_records
=foreach t_records generate TOKENIZE(str);
分享到:
相关推荐
课程详细介绍了Pig模式与函数的使用,包括如何定义模式、处理不同类型的数据以及模式的声明与验证。 【Zookeeper与分布式协调】Zookeeper是分布式服务协调框架,用于管理集群配置和服务发现。课程涵盖了Zookeeper的...
总之,"programmingpig-master"源码提供了丰富的Pig编程实例,涵盖了从基本操作到复杂场景的全面应用,对于理解Pig的工作原理和提升大数据处理技能具有极高的价值。深入研究这些源码,不仅能够提升编程技巧,还能...
- **复杂查询**:对于需要执行多步操作的复杂查询,Pig提供了一系列丰富的内置函数和支持多种数据类型的能力。 #### 四、Pig的使用方式 Pig支持多种使用方式,包括: 1. **命令行模式**:通过`pig`命令进入交互式...
本课程聚焦于“Hadoop 08 Pig安装与Pig Latin语言”,旨在深入理解Pig的工作原理及其在实际应用中的价值。 Pig拉丁语(Pig Latin)是Pig的编程语言,它允许用户以一种声明性的方式编写数据处理逻辑,而非传统的低级...
7. **应用场景**:Pigo库可以用于各种面部检测相关的应用,如人脸识别系统、视频监控、社交媒体分析、智能门锁等。 8. **开源社区支持**:作为开源项目,Pigo库有其源代码可供查看和修改,开发者可以根据自己的需求...
### Hadoop入门进阶课程之Pig介绍、安装与应用案例 #### 一、课程概述 根据提供的文档信息,这是一门关于Hadoop生态系统的入门级课程中的第七周内容,主要介绍了Pig这一工具的基本概念、安装过程以及如何通过Pig...
2. **Operators**:Pig Latin包含各种操作符,如LOAD用于加载数据,FILTER用于过滤记录,GROUP用于分组数据,JOIN用于合并数据集,FOREACH用于遍历数据并应用转换,以及STORE用于将结果写入存储。 3. **UDFs (User ...
1. Django框架:了解Django的基本概念、MVT(Model-View-Template)设计模式、数据库模型、视图函数、模板系统、URL路由配置以及表单处理等核心概念。 2. SCSS语言:学习SCSS的变量、嵌套、混合、导入、函数、...
- **灵活性与扩展性**:除了基本的数据处理功能外,Pig还支持用户定义函数(UDF),允许开发者根据具体需求定制特殊的数据处理逻辑。这进一步增强了Pig的灵活性和适用范围。 - **开放源代码**:Pig是一个开源项目,...
- **hive函数大全.doc**:这可能是一份详细列出Hive支持的各种内置函数的参考手册,帮助用户在编写HQL时查找和使用各种函数。 - **hive_installation and load data.doc**:这份文档可能介绍了如何安装Hive以及如何...
本文档通过一个具体示例来展示Pig在Web规模数据挖掘中的应用。 #### Pig 概览 Pig是一种高级的数据流语言,具备以下特点: - **SQL-like语法**:支持类似SQL的操作,如选择(select)、连接(join)、分组(group),这...
4. **可扩展性**:Pig允许用户自定义函数(UDF),可以使用Java等其他编程语言编写,并在Pig脚本中调用,增加了灵活性和处理能力。 5. **处理多种数据**:Pig不仅处理结构化数据,也能处理半结构化和非结构化数据,...
Pig Latin支持多种数据类型,包括基本类型如int、long、float、double、chararray和bytearray,以及高级类型如bag、tuple和map。语言中包含了丰富的运算符,如算术运算符(add、subtract、multiply、divide和mod)和...
首先,我们需要理解Pig Latin的基本规则: 1. 如果单词以元音字母(a, e, i, o, u)开头,只需在其末尾加上"ay"。 2. 如果单词以辅音字母开头,将这些辅音移到词尾,然后加上"ay"。如果开头是两个或更多连续的辅音...
在这个电子书合集中,你可能会学到如何安装配置Hive和Pig,掌握HQL和Pig Latin的基本语法,了解如何使用它们进行数据导入导出,以及如何解决在大数据处理过程中可能遇到的问题。此外,你还会接触到Hive和Pig的最佳...
### 构造函数以及原型基础 ...通过以上介绍可以看出,理解构造函数和原型的基本概念及其使用方式对于高效地开发JavaScript程序至关重要。这些基础知识不仅帮助我们更好地组织代码,还能有效地管理内存资源。