Hive 查询 cli 有效,同样通过 hue 失败

Posted

技术标签:

【中文标题】Hive 查询 cli 有效,同样通过 hue 失败【英文标题】:Hive query cli works, same via hue fails 【发布时间】:2016-07-07 13:58:53 【问题描述】:

我对色调(3.10 版)有一个奇怪的问题。

我有一个非常简单的 hive 查询:

drop table if exists csv_dump;
create table csv_dump row format delimited fields terminated by ',' lines terminated by '\n' location '/user/oozie/export' as select * from sample;
在 hive 编辑器中运行此查询有效 将此查询作为 oozie 工作流命令行运行 使用 beeline 运行此查询命令行有效 通过 hive 中的 oozie 工作流运行此查询失败

在这种情况下失败意味着:

drop 和 create 没有运行,或者至少没有任何效果 将执行工作流中的准备操作 工作流中的 hive2 步骤仍然显示成功 将执行以下步骤。

现在我确实尝试了不同的用户(oozie 和 ambari,根据相关情况调整位置),成功/失败案例完全相同。

我找不到任何相关的日志,除了可能来自色调:

------------------------

Beeline command arguments :
             -u
             jdbc:hive2://ip-10-0-0-139.eu-west-1.compute.internal:10000/default
             -n
             oozie
             -p
             DUMMY
             -d
             org.apache.hive.jdbc.HiveDriver
             -f
             s.q
             -a
             delegationToken
             --hiveconf
             mapreduce.job.tags=oozie-e686d7aaef4a29c020059e150d36db98

Fetching child yarn jobs
tag id : oozie-e686d7aaef4a29c020059e150d36db98
Child yarn jobs are found - 
=================================================================

>>> Invoking Beeline command line now >>>

0: jdbc:hive2://ip-10-0-0-139.eu-west-1.compu> drop table if exists csv_dump; cr 
eate table csv_dump0 row format delimited fields terminated by ',' lines termina 
ted by '\n' location '/user/ambari/export' as select * from sample;

<<< Invocation of Beeline command completed <<<

 Hadoop Job IDs executed by Beeline: 


<<< Invocation of Main class completed <<<


Oozie Launcher, capturing output data:
=======================
#
#Thu Jul 07 13:12:39 UTC 2016
hadoopJobs=


=======================

Oozie Launcher, uploading action data to HDFS sequence file: hdfs://ip-10-0-0-139.eu-west-1.compute.internal:8020/user/oozie/oozie-oozi/0000011-160707062514560-oozie-oozi-W/hive2-f2c9--hive2/action-data.seq

Oozie Launcher ends

我看到直线已启动,但我没有看到像命令行那样分配的任何映射器。

有人知道会出什么问题吗?

谢谢, 纪尧姆

【问题讨论】:

这是您在此处提供的stdout。你检查了stderr 日志。我猜,MR 工作信息/日志进入stderr 部分。 stderr 根本不提供任何有趣的东西,只是连接/连接/关闭到 hive 服务器 2 url 的连接。在 /var/log/whatever 中没有比这更相关的了。 你在sql脚本文件中添加新行了吗? @Romain 确实没有换行符,并添加了一些解决问题的方法。我把这个写成答案,不仅仅是评论,我会接受! 【参考方案1】:

正如@romain 在 cmets 中所解释的,需要在 sql 脚本中添加新行。那么一切都很好。

【讨论】:

感谢@Romain!多年来,我一直在用一个包含一个句子的脚本来解决这个问题。我在句子的末尾添加了一个新行,它起作用了。所以...你需要在每个句子之后添加新行,甚至是脚本的最后一句。

以上是关于Hive 查询 cli 有效,同样通过 hue 失败的主要内容,如果未能解决你的问题,请参考以下文章

如何在Hue中调优Impala和Hive查询

hue查询hive数据一直处理查询状态

如何进行 Hive SQL IF/ELSE 查询?

Hive / Hue 视图从最新分区(年/月/日)返回所有行

hive查询结果显示列名且不包含表明

在cm安装的大数据管理平台中集成impala之后读取hive表中的数据的设置(hue当中执行impala的数据查询)