hive on spark报错
执行hive命令是报错
[42000][3] Error while processing statement: FAILED: Execution Error, return code 3 from org.apache.hadoop.hive.ql.exec.spark.SparkTask. Spark job failed during runtime. Please check stacktrace for the root cause.
【原因】
在yarn上查看运行任务,从错误日志中查询报错结果
Map operator initialization failed: org.apache.hadoop.hive.ql.metadata.HiveException: Unexpected column vector type LIST
list类型错误
list在hive中对应的是数组,array对应Java中的list
【解决方式】
将执行引擎临时修改为MR
set hive.execution.engine=mr;
hive on spark存在很多bug,当出现不明所以的报错,先尝试将底层的执行引擎换为MR,在执行sql语句。
【后续修改】
1.查看hive当前的执行引擎:
set hive.execution.engine;
2.手动设置hive当前执行引擎为Spark
set hive.execution.engine=spark;
3.手动设置hive当前执行引擎为MR
set hive.execution.engine=mr;