Не удалось запустить куст, изменив файл hive-site.xml для подключения к spark-HiveContext.

Ниже мой улей/conf/hive-site.xml:

<configuration>
   <property>
      <name>javax.jdo.option.ConnectionURL</name>
      <value>jdbc:mysql://127.0.0.1/metastore?createDatabaseIfNotExist=true</value>
      <description>metadata is stored in a MySQL server</description>
   </property>
   <property>
      <name>javax.jdo.option.ConnectionDriverName</name>
      <value>com.mysql.jdbc.Driver</value>
      <description>MySQL JDBC driver class</description>
   </property>
   <property>
      <name>javax.jdo.option.ConnectionUserName</name>
      <value>hiveuser</value>
      <description>user name for connecting to mysql server</description>
   </property>
   <property>
      <name>javax.jdo.option.ConnectionPassword</name>\
      <value>hivepassword</value>
      <description>password for connecting to mysql server</description>
   </property>
</configuration>

Я хочу получить доступ к существующей базе данных и таблицам Hive с помощью spark-HiveContext. Итак, в файл hive/conf/hive-site.xml добавлены следующие строки:

<configuration>
   <property>
      <name>javax.jdo.option.ConnectionURL</name>
      <value>jdbc:mysql://127.0.0.1/metastore?createDatabaseIfNotExist=true</value>
      <description>metadata is stored in a MySQL server</description>
   </property>
   <property>
      <name>javax.jdo.option.ConnectionDriverName</name>
      <value>com.mysql.jdbc.Driver</value>
      <description>MySQL JDBC driver class</description>
   </property>
   <property>
      <name>javax.jdo.option.ConnectionUserName</name>
      <value>hiveuser</value>
      <description>user name for connecting to mysql server</description>
   </property>
   <property>
      <name>javax.jdo.option.ConnectionPassword</name>\
      <value>hivepassword</value>
      <description>password for connecting to mysql server</description>
   </property>
   <property>
      <name>hive.metastore.uris</name>
      <value>thrift://127.0.0.1:9083</value>
   </property>
</configuration>

После редактирования hive-site.xml, как показано выше, оболочка hive не работает. Пожалуйста, помогите мне правильно обновить файл hive-site.xml и получить доступ к таблицам кустов в spark-shell с помощью HiveContext, как показано ниже:

val hc = new org.apache.spark.sql.hive.HiveContext(sc);
hc.setConf("hive.metastore.uris","thrift://127.0.0.1:9083");
val a = hc.sql("show databases");
a.show //should display all my hive databases.

Пожалуйста, помогите мне в этом вопросе.


person Kumar    schedule 22.11.2017    source источник
comment
HiveServer2 работает? Майскл работает?   -  person OneCricketeer    schedule 23.11.2017
comment
Mysql работает нормально. Не могли бы вы помочь, как проверить HiveServer2?   -  person Kumar    schedule 23.11.2017
comment
так что вы получаете какую-либо ошибку?   -  person Sahil Desai    schedule 23.11.2017
comment
Неважно. Spark не требует работающего сервера Hive, только хранилище метаданных. В любом случае hc.setConf("hive.metastore.uris" не нужен. Вы также не должны использовать HiveContext со Spark2, только SparkSession.   -  person OneCricketeer    schedule 23.11.2017
comment
@cricket_007 да, мы можем использовать без hc.setConf, но дело в том, что когда я пытался отобразить базы данных, spark показывает только базу данных по умолчанию, а не с сервера улья, а также никакие другие базы данных улья не отображаются в spark. Итак, я устал редактировать hive-site.xml, но столкнулся с ошибкой, как показано выше..... Я хочу получить доступ к таблицам кустов в spark-shell, есть ли другой способ или мне нужно что-то еще настроить?   -  person Kumar    schedule 23.11.2017
comment
@Chaithu Вам нужно запустить хранилище метаданных улья, используя hive --service metastore   -  person Geetika    schedule 23.11.2017


Ответы (1)


@Chaithu Вам нужно запустить хранилище метаданных hive, используя хранилище метаданных hive --service, а затем таким образом создать sparksession с включенной поддержкой hivesupport.

 val spark= SparkSession
  .builder()
  .master("local")
  .appName("HiveExample").config("hive.metastore.uris","thrift://hadoop-master:9083")
  .enableHiveSupport()
  .getOrCreate()
person anubhav    schedule 23.11.2017