如何使用Hue + Beeswax刷新/清除DistributedCache以运行定义自定义UDF的Hive查询?

时间:2013-04-27 00:30:36

标签: hadoop hive cloudera hue beeswax

我已经建立了一个Hadoop集群(通过Cloudera Manager使用Cloudera发行版),我正在使用Hue接口运行一些Hive查询,该接口使用了下面的Beeswax。

我的所有查询运行正常,我甚至已经成功部署了自定义UDF。

但是,在部署UDF时,我遇到了一个非常令人沮丧的版本问题。在我的UDF类的初始版本中,我使用了导致StackOverflowError的第三方类。

我修复了这个错误,然后验证了可以从hive命令行成功部署和使用UDF。

然后,当我再次使用Hue和Beeswax时,我不断得到同样的错误。我只能通过更改我的UDF java类名来解决这个问题。 (从LowerLower2)。

现在,我的问题是,处理这类版本问题的正确方法是什么?

据我所知,当我使用左边的方便表单字段添加jar时,它们会被添加到分布式缓存中。那么,如何刷新/清除分布式缓存? (我无法从Hive / Beeswax中运行LIST JARS;等。它给我一个语法错误。)

1 个答案:

答案 0 :(得分:2)

由于类被加载到Beeswax Server JVM(与HiveServer1和HiveServer2 JVM相同),因此部署新版本的jar通常需要重新启动这些服务以避免此类加载问题。