使用Hive会话关闭清除资源

时间:2017-02-15 13:42:34

标签: hadoop hive emr hue

我需要在自定义UDF中创建一些资源(带有二进制数据的Geocoder)对象。应该为UDF创建一次这些资源,每个映射器将保存此资源的单个实例。因此,我使用的是创建此资源并保留其静态引用的单例工厂。

要处理这些资源,我正在使用一个关闭钩子,如果我从控制台退出而不是处理所有资源,它可以正常使用Hive CLI控制台(Putty)。

但我无法使用Hue UI处理这些资源,即使我关闭了蜂巢会话,这些资源仍然存在。

有人可以帮助我找到一种更清洁的方法来使用Hue UI处理这些资源。

作为一种解决方法,我创建了一个新的UDF来处理这些资源 - SELECT DisposeGeocoders();。但这对用户来说是一种开销。

1 个答案:

答案 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