如何处理猪的重复代码(模块化)

时间:2015-02-17 22:13:09

标签: hadoop apache-pig

我有一个猪代码可以做到这一点,

连接到db1,执行,连接到db2并执行相同的操作

将输出结合起来产生最终输出


基本上如何处理脚本中多个位置需要相同代码的情况

1 个答案:

答案 0 :(得分:5)

您可以为重复操作定义宏,并在您的猪脚本中使用这些宏,如下所示:

DEFINE macroPerformUnion() RETURNS union_data {
    union_data = -- do your stuff
}

将上方保存在名称为 macroPerformUnion.pig

的文件中

现在在您需要导入猪文件的脚本中使用宏

IMPORT 'macroPerformUnion.pig';

现在您可以使用

调用您的宏
union_data_result = macroPerformUnion();