使用spark引擎执行配置单元查询

时间:2016-08-24 11:43:10

标签: apache-spark hive

我在ubuntu 16.04系统中设置了HADOOP 2.7.2,HIVE 2.1,SCALA 2.11.8和SPARK 2.0。

Hadoop,hive和spark运行良好。我可以连接到hive cli并使用map-reduce而没有任何问题。

我必须提高order by子句的hive查询性能。

我只能使用Hive cli,并且不能使用spark-shell。

我试图在hive上使用spark作为查询执行引擎

我按照link按照说明操作,我在hive中设置了一些属性:

set hive.execution.engine=spark;
set spark.home=/usr/local/spark
set spark.master=spark://ip:7077

我执行了查询

select count(*) from table_name;

然后它抛出了这个异常:

  

无法创建spark客户端。

我还将hive客户端连接的超时时间增加到了spark。但是,它没用。

1 个答案:

答案 0 :(得分:-3)

首先,我建议您使用shell并按照以下步骤操作:

spark-shell --master yarn-client --driver-memory 512m --executor-memory 512m

你可以跑:

import org.apache.spark.sql.hive.orc._
import org.apache.spark.sql._
val hiveContext = new org.apache.spark.sql.hive.HiveContext(sc)
hiveContext.sql("create table myTable (myField STRING) stored as orc")

如果这样可行,您可以使用hiveContext

执行另一个SQL查询