Hive on spark 在 hue 中不起作用

Hive on spark doesn't work in hue

我正在尝试使用 hue 界面在 spark 上触发配置单元。当从命令行 运行 时,这项工作完美运行,但当我尝试从 hue 运行 时,它会抛出异常。在hue中,我主要尝试了两件事:

1) 当我使用设置命令在 .hql 文件中提供所有属性时

set spark.home=/usr/lib/spark;
set hive.execution.engine=spark; 
set spark.eventLog.enabled=true;
add jar /usr/lib/spark/assembly/lib/spark-assembly-1.5.0-cdh5.5.1-hadoop2.6.0-cdh5.5.1.jar;
set spark.eventLog.dir=hdfs://10.11.50.81:8020/tmp/;
set spark.executor.memory=2899102923;

我收到一个错误

ERROR : Failed to execute spark task, with exception 'org.apache.hadoop.hive.ql.metadata.HiveException(Unsupported execution engine: Spark.  Please set hive.execution.engine=mr)'
org.apache.hadoop.hive.ql.metadata.HiveException: Unsupported execution engine: Spark.  Please set hive.execution.engine=mr

2) 当我在 hue 属性中给出属性时,它只适用于 mr 引擎,但不适用于 spark 执行引擎。

如有任何帮助,我们将不胜感激

我已经通过在 oozie 中使用 shell 操作解决了这个问题。 此 shell 操作会调用承载我的 sql 文件的 pyspark 操作。

即使作业在 jobtracker 中显示为 MR,spark history server 也会将其识别为 spark action 并实现输出。

shell 文件:

#!/bin/bash
export PYTHONPATH=`pwd`
spark-submit --master local testabc.py

python 文件:

from pyspark.sql import HiveContext
from pyspark import SparkContext
sc = SparkContext();
sqlContext = HiveContext(sc)
result = sqlContext.sql("insert into table testing_oozie.table2 select * from testing_oozie.table1 ");
result.show()