hadoop - 我如何在 PIG 中连接一个带有硬编码值的变量

标签 hadoop apache-pig

我如何在 PIG 中连接一个变量和一些硬编码值

A = LOAD 'data' as (f1:chararray, f2:chararray, f3:chararray);

X = FOREACH A GENERATE CONCAT("BIG",f3);

预期输出:

( Apache ,开放,大源)

(hadoop, map ,BIGreduce)

( pig , pig ,BIGlatin)

最佳答案

Pig 不支持双引号,因此您需要将硬编码值从双引号更改为单引号。

X = FOREACH A GENERATE f1,f2,CONCAT('BIG',f3);

更新:
您可以使用 REPLACE 函数从输入中删除双引号。
下面的示例

数据

"apache","open","source"
"hadoop","map","reduce"
"pig","pig","latin"

PigScript:

A = LOAD 'data' USING PigStorage(',') AS (f1:chararray, f2:chararray, f3:chararray);
B = FOREACH A GENERATE REPLACE(f1,'"',''),REPLACE(f2,'"',''),CONCAT('BIG',REPLACE(f3,'"',''));
DUMP B

输出:

(apache,open,BIGsource)
(hadoop,map,BIGreduce)
(pig,pig,BIGlatin)

关于hadoop - 我如何在 PIG 中连接一个带有硬编码值的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28849014/

相关文章:

java - Apache pig UnsatisfiedLinkError

hadoop - 如何在Raspberry Pi-3中安装hadoop用户环境(HUE)?

java - 在 Windows 上无需管理员权限运行 Hadoop MR 作业

Hadoop:仅在映射器中获取输入文件名一次

hadoop - pig 非聚合警告输出位置?

hadoop - pig 错误 2118 : Input path does not exist

apache-pig - pig : Rank start at index 0 instead of 1?

hadoop - Pig和Hadoop之间的区别

java - 无法在 Windows 上的 Hadoop 中设置本地目录

hadoop - Apache Pig 和 Hadoop 的实现