如何在Cloudera Hue Beeswax / Hive中刷新文件资源

时间:2015-04-08 15:26:50

标签: hive cloudera

通过Hue(Beeswax)中的Hive界面运行Hive查询时,有谁知道如何更新文件资源?我正在运行CDH5.3

具体来说:我正在使用"转换"运行查询。语句和python脚本。 python文件在HDFS上,并被添加为"文件资源"。查询执行正常并给出正确的结果。如果我更新python文件并在HDFS上覆盖它,那么再次运行查询,新文件不会在hadoop分布式队列中更新(即查询仍然使用" old"文件并给出旧的结果)。唯一可以"工作"给新的python文件一个不同的名字,这显然是一个糟糕的解决方法。

此外,我已经详细阅读了Hive文档,并从Hive shell中看到,您可以" ADD"," LIST"和"删除"来自分布式队列的文件。从Hive shell我可以添加文件,但是LIST命令(特别是" LIST FILES")给出了一个ParseException,就像它不知道命令LIST一样。 REMOVE语句似乎总是成功返回,即使我给它一个垃圾文件名,所以没有LIST命令我不能确定它删除了什么。

更新:直接从Beeline shell中,它的行为与我期望的一样。即。

  1. 添加文件/path/to/myfile.py
  2. SELECT TRANSFORM(t.a,t.b,t.c)使用' python myfile.py' AS(d,e,f)FROM(SELECT a,b,c FROM my_table)as t
  3. - 更新myfile.py -
  4. 添加文件/path/to/myfile.py
  5. 重新运行(2),使用新文件
  6. 成功获取结果

    此行为在Hue / Beeswax中不起作用。

1 个答案:

答案 0 :(得分:0)

原来这是HiveServer2中的一个错误。看到: https://issues.cloudera.org/browse/HUE-2694