невозможно подключиться к sparkSQL

Я использую удаленное хранилище метаданных mysql для улья. когда я запускаю клиент улья, он работает идеально. но когда я пытаюсь использовать spark-sql либо через spark-shell, либо через spark-submit, я не могу подключиться к кусту. & получение следующей ошибки:

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

Я не понимаю, почему spark пытается подключиться к базе данных derby, пока я использую базу данных mysql для хранилища метаданных.

я использую apache spark версии 1.3 и cloudera версии CDH 5.4.8


person Bhavesh Gadoya    schedule 30.06.2016    source источник


Ответы (1)


Похоже, spark использует настройки улья по умолчанию, выполните следующие действия:

  • Скопируйте или создайте программную ссылку hive-site.xml в папку 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>
person Ronak Patel    schedule 30.06.2016
comment
Спасибо за ответ, чувак, это решается только путем копирования hive-site.xml в путь к классу искры conf. нет необходимости перезапускать кластер для меня. - person Bhavesh Gadoya; 30.06.2016