尝试从表中运行 select count(*) 查询时在配置单元中出错

Posted

技术标签:

【中文标题】尝试从表中运行 select count(*) 查询时在配置单元中出错【英文标题】:Getting error in hive when trying to run select count(*) query from table 【发布时间】:2020-04-17 11:46:49 【问题描述】:

我正在使用 hadoop-2.10.0,上面安装了 hive。我能够创建表、更改表并对其执行 select * 查询,但是当我尝试为表选择 count(*) 查询时,我遇到了作业失败错误。在检查进一步的日志时,我得到了

Application application_1587095329681_0006 failed 2 times due to AM Container for appattempt_1587095329681_0006_000002 exited with exitCode: 1
Failing this attempt.Diagnostics: [2020-04-17 11:20:46.294]Exception from container-launch.
Container id: container_1587095329681_0006_02_000001
Exit code: 1
Exception message: CreateSymbolicLink error (1314): A required privilege is not held by the client.
Shell output: 1 file(s) moved.
"Setting up env variables"
"Setting up job resources"
[2020-04-17 11:20:46.295]Container exited with a non-zero exit code 1.
[2020-04-17 11:20:46.296]Container exited with a non-zero exit code 1.
For more detailed output, check the application tracking page: http://Watson:8088/cluster/app/application_1587095329681_0006 Then click on links to logs of each attempt.
. Failing the application

看起来像是权限错误,所以我将 chmod 755 提供给 /user/hive/warehouse。但仍然遇到同样的问题。

操作系统:Windows 7 Hadoop 版本:2.10.0 Hive 版本:2.1.0

【问题讨论】:

您是否以管理员身份运行?如果没有,请尝试。 是的,我以管理员身份运行命令 【参考方案1】:

尝试以下步骤

    在管理员模式下打开命令提示符导航到 hadoop sbin 目录 打开 start-dfs.cmd 打开 start-yarn.cmd 运行您的脚本

【讨论】:

【参考方案2】:

刚遇到类似的问题,好像在用

select count(*) 需要更改表的权限

select count(1) 只需要读取权限

PS。 1 无关紧要,你可以使用 2,或 50、1000000000 或 'hahahaha'

我也不知道为什么会这样,目前正在研究为什么。

【讨论】:

以上是关于尝试从表中运行 select count(*) 查询时在配置单元中出错的主要内容,如果未能解决你的问题,请参考以下文章

从表中的不同条件中选择COUNT

Oracle 上 SELECT * 和 SELECT COUNT(*) 之间的结果大小不同

SqlServerCE Select 语句本机异常

从表和参考表中选择列、count(id)

SQL语言的增删改查

SQL 查询 SELECT FROM [从表名中选择值]