hadoop - pig 脚本STRSPLIT

标签 hadoop mapreduce apache-pig latin

我的列的名字和姓氏用空格隔开。我想使用Pig函数拆分为2个不同的列。我想到了STRSPLIT函数,但我不知道如何使用它。
有人可以帮我解决这个简单的问题吗?

最佳答案

您可以尝试以下类似的示例代码
我在这里做的是
1.将每一行读为单列
2.使用空格作为定界符应用STRSPLIT函数
3.将名字和姓氏存储在两个不同的列中

input.txt
Pearson Charles
James  Michael
Smith Linda

PigScript:
A = LOAD 'input.txt' AS line;
B = FOREACH A GENERATE FLATTEN(STRSPLIT(line,'\\s+',2)) AS (firstname:chararray,lastname:chararray);
C = FOREACH B GENERATE firstname,lastname;
DUMP C;

Output:
(Pearson,Charles)
(James,Michael)
(Smith,Linda)

通过此链接查看更多信息
http://pig.apache.org/docs/r0.13.0/func.html#strsplit

关于hadoop - pig 脚本STRSPLIT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26473526/

相关文章:

java - 将外部 native 库 (.so) 和外部 jar 与 Hadoop MapReduce 一起使用

hadoop - 使用hadoop计算1当前行的中位数

performance - 为什么 hadoop map 任务上的更多内存会使 mapreduce 作业变慢?

hadoop - 工作流工具比较 : Oozie Vs Cascading

hadoop - Apache Pig中的SAX Parser支持

hadoop - pig : Filter a string on a basis of a phrase

hadoop - 在map-reduce任务之间共享全局数组

shell - 列出目录中的所有文件夹名称 - unix shell 脚本

hadoop - 解析并加载到 Hive/Hadoop

hadoop - Pig UDF 计算两个数的幂