带参数的 Hive Python UDF
Posted
技术标签:
【中文标题】带参数的 Hive Python UDF【英文标题】:Hive Python UDF with argument 【发布时间】:2020-05-28 10:13:50 【问题描述】:我想让 hive Python UDF 除了来自列的数据外还采用常量参数。
如何做到这一点?
在下面的例子中,我希望下面的 hive 查询能够接受参数'10000'
,并且 my_udf 应该能够解析这个参数'10000'
# hive>
ADD FILE my_udf.py;
SELECT TRANSFORM(col1, col2, '10000') USING 'python my_udf.py' AS (udf_output) FROM my_table;
和
# my_udf.py
import sys
for line_str in sys.stdin:
line = line_str.strip().split('\t')
print(line[2]) # udf outputs the constant argument we inputted: 10000
【问题讨论】:
【参考方案1】:# hive>
ADD FILE my_udf.py;
SELECT TRANSFORM(col1, col2, '10000') USING 'python my_udf.py' AS (udf_output) FROM my_table;
TRANSFORM(col1, col2, '10000')
毕竟是正确的。我在其他地方遇到了一些其他语法问题,这导致我认为这种语法不起作用。
【讨论】:
以上是关于带参数的 Hive Python UDF的主要内容,如果未能解决你的问题,请参考以下文章