关于 Spark 问题的 HIVE

Posted

技术标签:

【中文标题】关于 Spark 问题的 HIVE【英文标题】:HIVE on Spark Issue 【发布时间】:2016-08-08 12:34:44 【问题描述】:

我正在尝试在 Spark 上配置 Hive,但即使尝试了 5 天,我也没有得到任何解决方案..

接下来的步骤:

1.spark安装后,进入hive控制台,设置属性如下

set hive.execution.engine=spark;
set spark.master=spark://INBBRDSSVM294:7077;
set spark.executor.memory=2g;             
set spark.serializer=org.apache.spark.serializer.KryoSerializer;

2.在 hive 库中添加 spark -asembly jar。

3.运行select count(*) from table_name时出现以下错误:

2016-08-08 15:17:30,207 ERROR [main]: spark.SparkTask (SparkTask.java:execute(131)) 
- Failed to execute spark task, with exception
 'org.apache.hadoop.hive.ql.metadata.HiveException (Failed to create spark client.)'

Hive 版本:1.2.1 Spark 版本:尝试使用 1.6.1、1.3.1 和 2.0.0 如果有人可以提出建议,将不胜感激。

【问题讨论】:

【参考方案1】:

您可以从 spark 下载网站下载 spark-1.3.1 src 并尝试使用以下方法构建没有 hive 版本的 spark-1.3.1:

./make-distribution.sh --name "hadoop2-without-hive" --tgz "-Pyarn,hadoop-provided,hadoop-2.4" -Dhadoop.version=2.7.1 -Dyarn.version=2.7.1 –DskipTests

然后将 spark-assembly-1.3.1-hadoop2.7.1.jar 复制到 hive/lib 文件夹。

并按照https://cwiki.apache.org/confluence/display/Hive/Hive+on+Spark%3A+Getting+Started#HiveonSpark:GettingStarted-SparkInstallation 设置必要的属性。

【讨论】:

【参考方案2】:

首先,你需要注意哪些版本是兼容的。如果你选择 Hive 1.2.1,我建议你使用 Spark 1.3.1。可以查看版本兼容列表here。

您所犯的错误是普遍错误。您需要启动 Spark 并查看 Spark Workers 显示的错误。但是,您是否已经将 hive-site.xml 复制到 spark/conf 中?

【讨论】:

以上是关于关于 Spark 问题的 HIVE的主要内容,如果未能解决你的问题,请参考以下文章

Spark 初识(01)

Spark 性能问题与 Hive

Spark SQL - Hive“无法覆盖表”解决方法

SparkSQL与Hive on Spark的比较

Spark SQL 在不配置 Hive 的情况下加载数据?

spark sql应该如何配置访问hive metastore? [复制]