2013-04-27 83 views
6

我已经建立了一个Hadoop集群(通过Cloudera Manager使用Cloudera发行版),并使用Hue接口运行一些Hive查询,Hue接口使用下面的Beeswax。如何使用Hue + Beeswax刷新/清除DistributedCache运行定义自定义UDF的Hive查询?

我所有的查询运行良好,我甚至成功地部署了自定义的UDF。

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

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

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

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

从我所了解的情况来看,当我使用左侧的便利表单字段添加jar时,它们被添加到分布式缓存中。那么,我该如何刷新/清除分布式缓存? (我无法得到LIST JARS;等从Hive/Beeswax中运行,它给我一个语法错误。)

+0

你解决了这个问题吗? – yatul 2013-07-09 14:08:53

+0

你可能会考虑提交一个bug。 – 2013-07-11 07:16:45

回答

2

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