如何处理 pig 中的重复代码(模块化)
How to handle repeating code in pig ( modularization )
我有一个 pig 代码可以做到这一点,
连接到 db1,执行,连接到 db2 并执行相同操作
合并输出以产生最终输出
基本上如何处理脚本中多个位置需要相同代码的情况
您可以为重复操作定义宏,并在您的 pig 脚本中使用这些宏,如下所示:
DEFINE macroPerformUnion() RETURNS union_data {
union_data = -- do your stuff
}
将上面的内容保存在一个文件中,名称为 macroPerformUnion.pig
现在要在脚本中使用您的宏,您需要导入 pig 文件
IMPORT 'macroPerformUnion.pig';
现在您可以使用
调用您的宏
union_data_result = macroPerformUnion();
我有一个 pig 代码可以做到这一点,
连接到 db1,执行,连接到 db2 并执行相同操作
合并输出以产生最终输出
基本上如何处理脚本中多个位置需要相同代码的情况
您可以为重复操作定义宏,并在您的 pig 脚本中使用这些宏,如下所示:
DEFINE macroPerformUnion() RETURNS union_data {
union_data = -- do your stuff
}
将上面的内容保存在一个文件中,名称为 macroPerformUnion.pig
现在要在脚本中使用您的宏,您需要导入 pig 文件
IMPORT 'macroPerformUnion.pig';
现在您可以使用
调用您的宏union_data_result = macroPerformUnion();