关于在hive中使用python做UDF的总结

主要是利用hive提供的transform语句。

1.编写python脚本,python脚本数据如下(参考:https://dwgeek.com/hive-udf-using-python-use-python-script-into-hive-example.html/):

  1. 配置python脚本,以让hive能够识别到,经测试有两种方式:

第一种方法是:根据py脚本的位置使用不同的添加文件语句,将python脚本添加到hive CLI中,该脚本可以放置在服务器的本地目录或HDFS中。

[En]

The first: add python scripts to hive CLI, which can be placed in the server’s local directory or hdfs, using different add file statements according to the location of the py script.

由于我们的配置单元配置了哨兵权限控制,所以经过测试,只有配置单元CLI可以执行添加文件,在使用BELINE或其他客户端时不会上报权限。具体原因尚不清楚。此方法需要在每次连接到配置单元时执行添加文件命令,这是不实际的。

[En]

Because our hive is configured with sentry permission control, it is tested that only hive CLI can execute add file, and no permission will be reported when using beeline or other clients. The specific reason is not known. This method requires the execution of add file commands every time you connect to hive, which is not practical.

第二个:使用hive.reloadable.aux.jars.Path的配置参数,然后将py脚本放到相应的目录中,然后在hive中执行reLoad命令,不需要每次连接都进行配置。假设我们被配置为:

[En]

The second: use the configuration parameters of hive.reloadable.aux.jars.path, then put the py script in the corresponding directory, and then execute the reload command in hive, which does not need to be configured every connection. Suppose we are configured to:

hive.reloadable.aux.jars.path=/jars/hive/udf/

  1. 在hive sql中使用刚才我们添加的python脚本,示例sql如下:

经测试,当使用mr作为执行引擎时,上述方法可以正确调用py。但是,使用Spark作为执行引擎会上报错误,原因暂时不明。

[En]

It has been tested that the above method can call py correctly when using mr as the execution engine. However, an error will be reported when using spark as the execution engine, and the reason is temporarily unknown.

上面。

[En]

Above.

Original: https://www.cnblogs.com/vanwoos/p/12667515.html
Author: 张不正
Title: 关于在hive中使用python做UDF的总结

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/6829/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

免费咨询
免费咨询
扫码关注
扫码关注
联系站长

站长Johngo!

大数据和算法重度研究者!

持续产出大数据、算法、LeetCode干货,以及业界好资源!

2022012703491714

微信来撩,免费咨询:xiaozhu_tec

分享本页
返回顶部
最近整理资源【免费获取】:   👉 程序员最新必读书单  | 👏 互联网各方向面试题下载 | ✌️计算机核心资源汇总