当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Apache Pig BagToString()用法及代码示例



Pig Latin BagToString()函数用于将包的元素连接成字符串。在连接时,我们可以在这些值之间放置一个分隔符(可选)。

一般包包都是乱的,可以用ORDER BY操作员。

用法

下面给出的是BagToString()函数。

grunt> BagToString(vals:bag [, delimiter:chararray])

示例

假设我们有一个名为dateofbirth.txt在 HDFS 目录中/pig_data/如下所示。该文件包含 date-of-births。

dateofbirth.txt

22,3,1990
23,11,1989
1,3,1998
2,6,1980
26,9,1989

我们已经将此文件加载到 Pig 中,并使用关系名称dob如下所示。

grunt> dob = LOAD 'hdfs://localhost:9000/pig_data/dateofbirth.txt' USING PigStorage(',')
   as (day:int, month:int, year:int);

将包转换为字符串

使用bagtostring()函数,我们可以将包中的数据转换为字符串。让我们分组dob关系。 group 操作将生成一个包含关系的所有元组的包。

将关系分组dob使用Group All运算符,并将结果存储在名为的关系中group_dob如下所示。

grunt> group_dob = Group dob All;

它将产生如下所示的关系。

grunt> Dump group_dob; 
 
(all,{(26,9,1989),(2,6,1980),(1,3,1998),(23,11,1989),(22,3,1990)})

在这里,我们可以观察到一个包含所有 date-of-births 作为它的元组的包。现在,让我们使用函数将包转换为字符串BagToString()

grunt> dob_string = foreach group_dob Generate BagToString(dob);

确认

验证关系dob_string使用DUMP操作符如下图。

grunt> Dump dob_string;

输出

它将产生以下输出,显示关系的内容dob_string

(26_9_1989_2_6_1980_1_3_1998_23_11_1989_22_3_1990)

相关用法


注:本文由纯净天空筛选整理自 Apache Pig - BagToString()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。