таблицы, доступные в Spark-SQL CLI, недоступны через thriftserver

Я пытаюсь предоставить свои таблицы spark-sql через JDBC через thriftserver, но, хотя это выглядит так, как будто я успешно подключился, его не работает. Вот то, что я пробовал до сих пор.

настройка базы данных:

  • в pyspark я загрузил файл паркета, создал временный вид как tableX
  • выполняется .saveAsTableкак hive_tableX
  • затем я запросил эту таблицу: spark.sql("SELECT * FROM hive_tableX LIMIT 1").show()которая вернула некоторые данные
  • на этом этапе мой код сохраняет информацию таблицы в хранилище hivestore, верно?

запрос из spark-sql:

  • Затем я запустил spark-sqlи запустил SQL-оболочку spark
  • USE default
  • show tables; — >я вижу мой стол там, hive_tableX
  • SELECT * FROM hive_tableX LIMIT 1 и я вижу некоторые успешные результаты.
  • таким образом, я считаю, что теперь подтверждено, что моя таблица сохранилась в метасторе улья, верно?

затем я включаю thriftserver

  • ./sbin/start-thriftserver.sh

затем я включаю beeline, чтобы проверить соединение с thriftserver

  • !connect jdbc:hive2://localhost:10000 (и введите имя пользователя и пароль)
  • затем я выбираю БД по умолчанию: use default;
  • и show tables;—> там ничего нет.

Итак, где мои столы? beeline или бережливость указывают на другой склад или что-то?

Edit: я думаю, что мой thriftserver не использует правильный каталог склада, поэтому я пытаюсь запустить его с опцией config:

  • [все еще ничего] sbin/start-thriftserver.sh —hiveconf spark.язык SQL.склад.dir= / code / spark / бережливость / spark-warehouse
  • [все еще ничего] sbin/start-thriftserver.sh — conf spark.язык SQL.склад.dir= / code / spark / бережливость / spark-warehouse

Edit: запуск его в том же физическом каталоге, где был создан wherehouse, кажется, делает трюк. Хотя, я не знаю, как программно установить путь к чему-то еще и начать его в другом месте.

1 ответ

  1. решение этой конкретной проблемы состояло в том, что я начинал бережливость из другого каталога spark-wherehouseи metastore_dbбыли расположены.

    После того, как я запустил его из правильного Каталога, он работал как ожидалось, и мои таблицы теперь были доступны.