×

Apache Pig 介绍

Apache Pig 概述Apache Pig 架构

Apache Pig 环境

Apache Pig 安装Apache Pig 执行Apache Pig Grunt Shell

Pig Latin 介绍

Pig Latin 基础

Apache Pig 加载和存储

Apache Pig 加载数据Apache Pig 存储数据

Apache Pig 诊断运算符

Apache Pig Diagnostic运算符Apache Pig Describe运算符Apache Pig Explain运算符Apache Pig illustrate运算符

Apache Pig 分组和连接

Apache Pig Group运算符Apache Pig Cogroup运算符Apache Pig Join运算符Apache Pig Cross运算符

Apache Pig 合并和拆分

Apache Pig Union运算符Apache Pig Split运算符

Apache Pig 过滤

Apache Pig Filter运算符Apache Pig Distinct运算符Apache Pig Foreach运算符

Apache Pig 排序

Apache Pig Order By运算符Apache Pig Limit运算符

Pig Latin 内置函数

Apache Pig Eval函数Apache Pig 加载和存储函数Apache Pig 包和元组函数Apache Pig 字符串函数Apache Pig 日期时间函数Apache Pig 数学函数

Apache Pig 其他执行模式

Apache Pig 用户定义函数Apache Pig 运行脚本

Apache Pig 有用的资源

Apache Pig 有用资源Apache Pig 讨论

Apache Pig SIZE()函数


Apache Pig Eval函数Apache Pig Eval函数


Pig Latin的 SIZE() 函数用于基于任何Pig数据类型计算元素的数量。

语法

下面给出了 SIZE() 函数的语法。

grunt> SIZE(expression)

返回值根据Apache Pig中的数据类型而有所不同。

数据类型
int,long,float,double 对于所有这些类型,size()函数返回1。
Char array 对于char数组,size()函数返回数组中的字符数。
Byte array 对于bytearray,size()函数返回数组中的字节数。
Tuple 对于元组,size()函数返回元组中的字段数。
Bag 对于包,size()函数返回包中的元组数。
Map 对于映射,size()函数返回映射中键/值对的数量。

假设在HDFS目录 /pig_data/ 中有一个名为 employee.txt 的文件,如下所示。

employee.txt

1,John,2007-01-24,250
2,Ram,2007-05-27,220  
3,Jack,2007-05-06,170  
3,Jack,2007-04-06,100  
4,Jill,2007-04-06,220  
5,Zara,2007-06-06,300  
5,Zara,2007-02-06,350 

通过关系 employee_data 将此文件加载到Pig中,如下所示。

grunt> employee_data = LOAD 'hdfs://localhost:9000/pig_data/ employee.txt' USING PigStorage(',')
   as (id:int, name:chararray, workdate:chararray, daily_typing_pages:int);

计算类型的大小

要计算特定列的类型大小,可以使用 SIZE() 函数。让我们计算name类型的大小,如下所示。

grunt> size = FOREACH employee_data GENERATE SIZE(name);

验证

使用 DUMP 运算符验证关系 size ,如下所示。

grunt> Dump size;

输出

它将产生以下输出,显示关系 size 的内容如下。在示例中,我们计算了 name 列的大小。由于它是varchar类型,因此 SIZE() 函数给出每个员工姓名中的字符数。

(4) 
(3) 
(4) 
(4) 
(4) 
(4) 
(4) 

Apache Pig Eval函数Apache Pig Eval函数


分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)