我对猪来说是全新的。 开始自己学习并试图了解PIG。 任何人都可以建议我通过阅读带有单词的words.txt文件来获取当前系统纪元时间使用猪。
我需要输出
word1_1234567890 word2_1234567890 word3_1234567890
我们如何在PIG脚本中调用shell脚本
因为我已经编写了Shell脚本。
任何帮助。
先谢谢。
Mohan.v
答案 0 :(得分:1)
使用CONCAT将您的单词与epochtime结合起来。您可以使用ToUnixTime()获取纪元时间
A = LOAD 'words.txt' AS (word:chararray);
B = FOREACH A GENERATE CONCAT(CONCAT(A.word,'_'),(chararray)ToUnixTime(CurrentTime());
DUMP B;
假设你的shell脚本是名称test.sh
%declare my_shell_script 'test.sh'
A = LOAD 'data.txt' AS (f1:int,f2:chararray);
B = FOREACH A GENERATE '$my_shell_script';
如果你的shell脚本有参数say param1
%declare my_shell_script 'test.sh $param1'
A = LOAD 'data.txt' AS (f1:int,f2:chararray);
B = FOREACH A GENERATE '$my_shell_script';