我需要在自定义UDF中创建一些资源(带有二进制数据的Geocoder)对象。应该为UDF创建一次这些资源,每个映射器将保存此资源的单个实例。因此,我使用的是创建此资源并保留其静态引用的单例工厂。
要处理这些资源,我正在使用一个关闭钩子,如果我从控制台退出而不是处理所有资源,它可以正常使用Hive CLI控制台(Putty)。
但我无法使用Hue UI处理这些资源,即使我关闭了蜂巢会话,这些资源仍然存在。
有人可以帮助我找到一种更清洁的方法来使用Hue UI处理这些资源。
作为一种解决方法,我创建了一个新的UDF来处理这些资源 - SELECT DisposeGeocoders();
。但这对用户来说是一种开销。
答案 0 :(得分:0)
您环境中hue.init文件中的这些值是什么? (默认这些是真的,但我会检查这些属性:
# Use session-length cookies. Logs out the user when she closes the browser window.
expire_at_browser_close=true
# Hue will try to close the Hive query when the user leaves the editor page.
#This will free all the query resources in HiveServer2, but also make its results inaccessible.
close_queries=true
# Use session-length cookies. Logs out the user when she closes the browser window.
expire_at_browser_close=true