Шаг (1, & 2), о котором вы упомянули, частично в порядке, за исключением небольшого изменения, которое может вам помочь.
Поскольку вы используете hive-2.x
, настройте spark.sql.hive.metastore.jars
и установите вместо него maven
и spark.sql.hive.metastore.version
в соответствии с версией вашего метастаза 2.3.3
. Достаточно просто использовать 2.3
в качестве версии, посмотрите, почему в Apache Spark Code
Вот пример моей рабочей конфигурации, которую я установил в spark-default.conf
:
spark.sql.broadcastTimeout 600 # An arbitrary number that you can change
spark.sql.catalogImplementation hive
spark.sql.hive.metastore.jars maven
spark.sql.hive.metastore.version 2.3 # No need for minor version
spark.sql.hive.thriftServer.singleSession true
spark.sql.warehouse.dir {hdfs | s3 | etc}
hive.metastore.uris thrift://hive-host:9083
С предыдущей настройкой я смог выполнить запросы к моему хранилищу данных в Zeppelin следующим образом:
val rows = spark.sql("YOUR QUERY").show
Более подробную информацию о подключении к внешнему метастагу улья можно найти здесь ( Databricks )