hadoop - 如何处理 pig 中的重复代码(模块化)

标签 hadoop apache-pig

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

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

联合输出产生最终输出


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

最佳答案

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

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

将上面的内容保存在一个名为 ma​​croPerformUnion.pig 的文件中

现在要在脚本中使用宏,您需要导入 pig 文件

IMPORT 'macroPerformUnion.pig';

现在你可以调用你的宏了

union_data_result = macroPerformUnion();

关于hadoop - 如何处理 pig 中的重复代码(模块化),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28572117/

相关文章:

hadoop - 不使用TRIM功能,是否可以使用SQOOP导入的表?

python - MapReduce:ValueError:要解压的值太多(预期为 2)

apache - apache flume hdfs sink 可以接受动态路径写入吗?

hadoop - 计算 PIG 中的平均值 |和其他东西

hadoop - 无法查询(从 Hive)在 ​​Pig 中创建的 Parquet 文件

sql - 从 Hive 数组中选择特定值

azure - HBase 到 Delta 表

java - 如何在 Java 项目中包含一个资源文件以仅与 new File() 一起使用?

hadoop - SET default_parallel 1;声明不适用于 pig

在其他 pig 文件中导入公共(public)常量声明的 pig 文件