UDF 可以访问调用 Pig 脚本中声明的参数或定义的值吗?
Posted
技术标签:
【中文标题】UDF 可以访问调用 Pig 脚本中声明的参数或定义的值吗?【英文标题】:Can a UDF access a parameter or a defined value declared in the calling Pig script? 【发布时间】:2014-05-12 11:50:27 【问题描述】:我只是在尝试以任何可能的方式来修改 UDF 的功能。例如,假设我有一个基于百分位过滤的 UDF——我希望能够在 Pig 脚本中执行一些操作,例如“定义百分位 90”,并让 UDF 能够访问这个数字。
差不多就是这样。
【问题讨论】:
【参考方案1】:哇,我刚刚在这里找到了这个:
https://www.inkling.com/read/programming-pig-alan-gates-1st/chapter-6/controlling-execution
您使用“set”并且值集在 JobConf 中可用。有关 JobConf 的更多信息,请参见此处:
https://www.inkling.com/read/programming-pig-alan-gates-1st/chapter-10/writing-an-evaluation-function#b0917dc6a9bd21005971e7b7198e1b49
*** 和这本 Inkling 书也讨论了使用 define 将参数传递给构造函数的替代方法,但似乎 JobConf 将是一个好方法——我怀疑使用 define 有局限性。
【讨论】:
以上是关于UDF 可以访问调用 Pig 脚本中声明的参数或定义的值吗?的主要内容,如果未能解决你的问题,请参考以下文章
Apache Pig - 在脚本中多次调用 Java UDF ToJSON