JSRUN 用代码说话

SIZE()函数

编辑教程

SIZE()函数

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

语法

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

grunt> SIZE(expression)

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

数据类型
int,long,float,double 对于所有这些类型,size()函数返回1。
字符数组 对于char整数,size()函数返回整数中的字符数。
字节数组 对于bytearray,size()函数返回整数中的字节数。
元组 对于元组,size()函数返回元组中的细分数。
对于包,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() 函数。让我们计算名称类型的大小,如下所示。

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

验证

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

grunt> Dump size;

输出

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

(4) 
(3) 
(4) 
(4) 
(4) 
(4) 
(4)
JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟