【问题标题】:Issue on configure hive on spark在 spark 上配置 hive 的问题
【发布时间】:2017-02-04 14:17:39
【问题描述】:

我已经下载了 spark-2.0.0-bin-hadoop2.7。有人可以建议如何在此配置 hive 并在 scala 控制台中使用吗?现在我可以使用 Scala(spark-shell 控制台)在文件上运行 RDD。

【问题讨论】:

  • 您能否详细说明您要做什么?
  • @MR Srinivas:所以现在我可以使用 spark-shell 控制台在 spark 中进行 scala 编码。我对文件做了一些 map reduce 函数。然后我开始了解用于存储和检索数据的 hive 及其类似查询的结构。我想尝试一下。我正在尝试配置配置单元。它显示 URI 异常,例如缺少仓库文件夹和其他一些异常,当我尝试使用 hive 查询创建表时发生错误。我为 hive 设置了任何 EV,我只为 hive 上下文做两个导入包,如果配置错误,请分享任何链接以逐步安装
  • 检查这些链接hive installationHive on Spark
  • @MR Srinivas:我从一开始就关注第二个链接,你能告诉我,我需要从 apache hive 站点外部下载 hive 吗?或者只是设置'set hive.execution.engine=spark;'
  • 如果HIVE 在默认执行引擎下工作正常,请点击第二个链接。

标签: hadoop apache-spark hive hdfs bigdata


【解决方案1】:

遵循官方 Hive on Spark 文档:

https://cwiki.apache.org/confluence/display/Hive/Hive+on+Spark%3A+Getting+Started

您可以使用以下命令在 Hive 上设置火花引擎:

set hive.execution.engine=spark;

或通过将其添加到 hive-site.xml(请参阅 kanishka 帖子)

然后在 Hive 2.2.0 之前,将 spark-assembly jar 复制到 HIVE_HOME/lib。

从 Hive 2.2.0 开始,Hive on Spark 运行 Spark 2.0.0 及更高版本,没有组装 jar。

要使用 YARN 模式(yarn-client 或yarn-cluster)运行,请将以下 jar 复制到 HIVE_HOME/lib。

scala 库

火花核心

spark-network-common

设置 spark_home:

export $SPARK_HOME=/path-to-spark

启动 Spark Master 和 Workers:

spark-class org.apache.spark.deploy.master.Master

spark-class org.apache.spark.deploy.worker.Worker spark://MASTER_IP:PORT

配置 Spark:

set spark.master=<Spark Master URL>;
set spark.executor.memory=512m; 
set spark.yarn.executor.memoryOverhead=10~20% of spark.executor.memory(value);     
set spark.serializer=org.apache.spark.serializer.KryoSerializer;

【讨论】:

    【解决方案2】:

    将 hive-site.xml 放在 spark conf 目录中

    【讨论】:

    • 我只是想知道我需要从 apache hive 下载 hive 吗? hive-site.xml 文件将在哪里可用???请澄清谢谢??
    【解决方案3】:

    Hive 可以支持多个执行引擎。像 TEZ、Spark。 您可以在 hive-site.xml 中设置属性

    </property> 
    <name>hive.execution.engine</name>
    <value>spark</value>
    <description>
     I am choosing Spark as the execution engine
    </description>
    </property>
    

    将 jars spark-assembly jar 复制到 HIVE_HOME/lib

    设置 spark_home

    设置以下属性

    set spark.master=<Spark Master URL>
    set spark.eventLog.enabled=true;
    set spark.eventLog.dir=<Spark event log folder (must exist)>
    set spark.executor.memory=512m;             
    set spark.serializer=org.apache.spark.serializer.KryoSerializer;
    

    我认为以上步骤就足够了

    【讨论】:

    • 我已经将所有的 jar 从 spark 复制到 hive,因为我不知道你所说的 spark-assembly jar 是什么意思。
    猜你喜欢
    • 2018-06-06
    • 1970-01-01
    • 1970-01-01
    • 2015-11-25
    • 1970-01-01
    • 1970-01-01
    • 2018-10-11
    • 2014-04-23
    • 1970-01-01
    相关资源
    最近更新 更多