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

标签 hadoop hive cloudera hue beeswax

我已经设置了一个 Hadoop 集群(通过 Cloudera Manager 使用 Cloudera 发行版),我正在使用 Hue 界面运行一些 Hive 查询,该界面在底层使用 Beeswax。

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

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

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

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

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

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

最佳答案

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

关于hadoop - 使用 Hue + Beeswax 运行定义自定义 UDF 的 Hive 查询时如何刷新/清除 DistributedCache?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16247073/

相关文章:

sql - Hive: java.lang.OutOfMemoryError: Java heap space and Job running in-process (local Hadoop)

hadoop - hive 添加分区语句忽略前导零

sql - SQL:给定日期可用的最大日期

eclipse - 无法从Eclipse将Spark与Hortonworks Sandbox连接

hadoop - 从文件名中提取时间戳,并使用Pig将其添加到新列(例如,日期)中

hadoop - Sqoop 导入错误 : org. apache.hadoop.security.AccessControlException: Permission denied by sticky bit

hadoop - 在 HIVE 中创建 View

solr - solr.xml、solrconfig.xml 和 schema.xml 位于哪里?

hadoop - 将 Hadoop 输出导出到文本文件

hadoop - HBase复制-在3个数据中心中复制数据