如何在PIG中获得EPOCH时间?

时间:2016-09-02 09:09:52

标签: shell hadoop apache-pig epoch

我对猪来说是全新的。 开始自己学习并试图了解PIG。 任何人都可以建议我通过阅读带有单词的words.txt文件来获取当前系统纪元时间使用猪

我需要输出

word1_1234567890 word2_1234567890 word3_1234567890

我们如何在PIG脚本中调用shell脚本

因为我已经编写了Shell脚本。

任何帮助。

先谢谢。

Mohan.v

1 个答案:

答案 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';