使用外部 Java 库的猪 UDF

Posted

技术标签:

【中文标题】使用外部 Java 库的猪 UDF【英文标题】:pig UDF using external java libraries 【发布时间】:2016-03-01 14:17:11 【问题描述】:

我编写的 UDF 使用一些外部库作为 jackson-databird 等...我如何指定 pig 应该在哪里查找这些外部库?

谢谢

【问题讨论】:

【参考方案1】:

如果您将所有依赖项编译到单个 fat jar 中会怎样?

【讨论】:

【参考方案2】:

您可以使用语法指定额外的罐子 -

pig -Dpig.additional.jars="xxx.jar:yyy.jar" -f script.pig

如果打包的依赖项和集群安装的依赖项不兼容,则具有依赖项的 jar 可能会导致问题。这也将使您的程序成为未来的证明,我想。

【讨论】:

以上是关于使用外部 Java 库的猪 UDF的主要内容,如果未能解决你的问题,请参考以下文章

如何将复杂的外部变量(例如映射值)从 Spark 与 Java 中的驱动程序传递给 UDF?

在pyspark的pandas_udf中使用外部库

Java - 为来自外部库的类定义一个通用接口

过滤器上的猪 udf

当 UDF 使用一些外部资源文件但在本机运行时,为啥 Hive 错误 FileNotFoundException?

从外部 UDF 调用 db2ReadLog