hive命令行通过cygwin select查询出错

snz8szmq  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(403)

我正在使用hadoop2.4.0 hortonworks
我对hadoop还很陌生,目前正在使用hue/beeswax来运行我的标准查询,这些查询工作正常,但是,我现在需要开始创建基本的shell脚本来执行稍微复杂一些的查询。因为我在win7机器上,所以我安装了cygwin并使用ssh连接到hadoop服务器。尝试简单的测试查询时,出现以下错误:-

hive -e "select actual_date from dm.date_dim limit 10"

AccessControlException: User blah cannot submit applications to queue root.default

根据某人的建议,我尝试先更改队列名称:-

set mapred.job.queuename=foo

请注意,如果运行相同的查询,但选择“全部”,即不需要mapreduce作业,则查询成功:-

hive -e "select * from dm.date_dim limit 10"

我的it部门和其他内部shell脚本开发人员对此React非常慢(很多天),所以您有什么建议我应该检查或尝试。我被告知,如果更改队列名称有效,那么我就可以把它放在我的.hiverc文件中,我不知道它在哪里。
这是权限问题吗?我应该配置其他东西吗?
我非常感谢您的帮助,但是请注意,我最近才开始学习linux,所以您可能需要对任何回答都保持沉默。

dm7nw8vv

dm7nw8vv1#

您的组织必须指定一些队列,才能将集群资源分配给多个团队。因此,如果不指定作业队列,则除“select*”之外的任何查询都不会运行。因此,在运行配置单元查询时,只需添加此配置,您的查询就会运行:

hive -hiveconf mapred.job.queue.name=foo -e "select actual_date from dm.date_dim limit 10"

相关问题