- Apache Pig 教程
- Apache Pig - 首页
- 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 - Describe 操作符
- Apache Pig - Explain 操作符
- Apache Pig - Illustrate 操作符
- Pig Latin 内置函数
- Apache Pig - 评估函数
- 加载与存储函数
- Apache Pig - Bag 和 Tuple 函数
- Apache Pig - 字符串函数
- Apache Pig - 日期时间函数
- Apache Pig - 数学函数
- Apache Pig 有用资源
- Apache Pig - 快速指南
- Apache Pig - 有用资源
- Apache Pig - 讨论
Apache Pig - BagToString()
Pig Latin 的BagToString()函数用于将Bag中的元素连接成一个字符串。连接时,可以在这些值之间放置分隔符(可选)。
通常,Bag是无序的,可以使用ORDER BY操作符进行排序。
语法
以下是BagToString()函数的语法。
grunt> BagToString(vals:bag [, delimiter:chararray])
示例
假设我们在HDFS目录/pig_data/中有一个名为dateofbirth.txt的文件,如下所示。此文件包含出生日期。
dateofbirth.txt
22,3,1990 23,11,1989 1,3,1998 2,6,1980 26,9,1989
我们已使用关系名称dob将此文件加载到Pig中,如下所示。
grunt> dob = LOAD 'hdfs://127.0.0.1:9000/pig_data/dateofbirth.txt' USING PigStorage(',') as (day:int, month:int, year:int);
将Bag转换为字符串
使用bagtostring()函数,我们可以将Bag中的数据转换为字符串。让我们对dob关系进行分组。分组操作将生成一个包含关系中所有元组的Bag。
使用Group All操作符对关系dob进行分组,并将结果存储在名为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)})
在这里,我们可以看到一个Bag,其中包含所有出生日期作为其元组。现在,让我们使用函数BagToString()将Bag转换为字符串。
grunt> dob_string = foreach group_dob Generate BagToString(dob);
验证
使用DUMP操作符验证关系dob_string,如下所示。
grunt> Dump dob_string;
输出
它将产生以下输出,显示关系dob_string的内容。
(26_9_1989_2_6_1980_1_3_1998_23_11_1989_22_3_1990)
apache_pig_eval_functions.htm
广告