如何在 PIG 中显示声明的变量
How to display declared variable in PIG
我只是想知道是否有一种方法可以在 PIG 中显示声明的变量 - 用于测试目的(没有 UDF)?
那么如何显示$DATE:
%declare DATE `date +%s`;
您可以使用以下方法将您的脚本称为干 运行:
pig -x local -r my_pig_script.pig
这将在您的工作目录中输出 my_pig_script.pig.substituted
。如果您查看该文件,声明的所有变量都将被替换为它们的值。这使您可以在某种程度上 "precompile" 查看您的作业在将其发送到集群之前将执行的操作。
希望对您有所帮助!
编辑:
枯燥的 运行 还将帮助您调试脚本并在实际 运行 之前识别任何编译错误。
如果要显示变量而不将其存储在文件中,请尝试以下操作:
%declare DATE `date +%Y%m%d_%H%M%S`;
sh echo $DATE;
A STORE 语句将输出写入文件系统;或者,DUMP 语句将输出显示到屏幕
A = LOAD 'student' USING PigStorage() AS (name:chararray, age:int, gpa:float);
B = FOREACH A GENERATE name;
DUMP B;
(John)
(Mary)
(Bill)
(Joe)
我只是想知道是否有一种方法可以在 PIG 中显示声明的变量 - 用于测试目的(没有 UDF)?
那么如何显示$DATE:
%declare DATE `date +%s`;
您可以使用以下方法将您的脚本称为干 运行:
pig -x local -r my_pig_script.pig
这将在您的工作目录中输出 my_pig_script.pig.substituted
。如果您查看该文件,声明的所有变量都将被替换为它们的值。这使您可以在某种程度上 "precompile" 查看您的作业在将其发送到集群之前将执行的操作。
希望对您有所帮助!
编辑:
枯燥的 运行 还将帮助您调试脚本并在实际 运行 之前识别任何编译错误。
如果要显示变量而不将其存储在文件中,请尝试以下操作:
%declare DATE `date +%Y%m%d_%H%M%S`;
sh echo $DATE;
A STORE 语句将输出写入文件系统;或者,DUMP 语句将输出显示到屏幕
A = LOAD 'student' USING PigStorage() AS (name:chararray, age:int, gpa:float);
B = FOREACH A GENERATE name;
DUMP B;
(John)
(Mary)
(Bill)
(Joe)