一、问题发现
在hive中执行insert into语句时报错:
原因:
- 这个错误通常是因为在 Hadoop 集群上设置了队列,而正在尝试将作业提交到根队列,而根队列不是叶子队列。
- 在YARN中,队列有层级结构,叶子队列是这个层级结构中最底层的队列,它们没有子队列,因此作业必须提交到叶子队列。
二、解决方法
在Hive中,可以通过设置队列来控制任务的执行优先级。这在大规数据处理中非常重要,可以帮助更好地管理资源和提高作业的执行效率。在Hive中,队列是由YARN资源管理器来管理的。可以通过设置Hive作业的属性来指定任务应该走哪个队列。在Hive脚本中,可以使用以下语法来指定队列:
set mapreduce.job.queuename=队列名;
INSERT INTO test VALUES(1,'王力红','男');