如何在 PIG 中获取 EPOCH 时间?

How to get EPOCH time in PIG?

我对猪完全陌生。 开始自学并尝试了解 PIG。 任何人都可以建议我通过阅读 words.txt 包含单词的文件来使用 pig 获取 当前系统纪元时间。

我需要输出为

word1_1234567890 word2_1234567890 word3_1234567890

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

因为我已经写好了Shell脚本

任何帮助。

提前致谢。

Mohan.v

使用 CONCAT 将你的单词与 epochtime.You 结合使用 ToUnixTime()

A = LOAD 'words.txt' AS (word:chararray);
B = FOREACH A GENERATE CONCAT(CONCAT(A.word,'_'),(chararray)ToUnixTime(CurrentTime());
DUMP B;

假设您的 shell 脚本是 names 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 脚本有参数 param1

%declare my_shell_script 'test.sh $param1'
A = LOAD 'data.txt' AS (f1:int,f2:chararray);
B = FOREACH A GENERATE '$my_shell_script';