gpt4 book ai didi

hadoop - 无法连接到 sparkSQL

转载 作者:行者123 更新时间:2023-12-02 21:18:24 26 4
gpt4 key购买 nike

我正在为 hive 使用远程 mysql 元存储。当我运行 hive 客户端时,它运行完美。但是当我尝试通过 spark-shell 或 spark-submit 使用 spark-sql 时,我无法连接到 hive。并出现以下错误:

    Caused by: javax.jdo.JDOFatalInternalException: Error creating transactional connection factory
Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.apache.derby.jdbc.EmbeddedDriver

当我使用 mysql 数据库进行元存储时,我不明白为什么 spark 尝试连接 derby 数据库。

我正在使用 apache spark 1.3 版和 cloudera 版 CDH 5.4.8

最佳答案

似乎 spark 正在使用默认配置单元设置,请按照下列步骤操作:

  • 将 hive-site.xml 的软链接(soft link)复制或创建到您的 SPARK_HOME/conf 文件夹。
  • 在 SPARK_HOME/conf/spark-env.sh
  • 中将配置单元库路径添加到类路径
  • 重启 Spark 集群以使一切生效。

  • 我相信你的 hive-site.xml 有 MYSQL 元存储的位置?如果没有,请按照以下步骤重新启动 spark-shell:
    <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://MYSQL_HOST:3306/hive_{version}</value>
    <description>JDBC connect string for a JDBC metastore</description>
    </property>
    <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
    <description>Driver class name for a JDBC metastore/description>
    </property>
    <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>XXXXXXXX</value>
    <description>Username to use against metastore database/description>
    </property>
    <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>XXXXXXXX</value>
    <description>Password to use against metastore database/description>
    </property>

    关于hadoop - 无法连接到 sparkSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38125240/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com