Я пытаюсь разоблачить свои таблицы spark-sql через JDBC через triftserver, но, хотя похоже, что я успешно подключен, он не работает. Вот что я пробовал до сих пор.таблицы, доступные в CLI Spark-SQL, недоступны по сравнению с triftserver
Настройка базы данных:
- в pyspark Я загрузил паркетную файл, созданный вид Темп как
tableX
- выполнил
.saveAsTable
, какhive_tableX
- затем спросил я эту таблицу:
spark.sql("SELECT * FROM hive_tableX LIMIT 1").show()
, возвращающей некоторые данные - в этот момент, мой код сохраняет информацию о таблице в hivestore, не так ли?
запрашивая от искрового-SQL:
- Я побежал
spark-sql
и искра SQL оболочка пущена USE default
show tables;
-> я вижу мой стол там,hive_tableX
SELECT * FROM hive_tableX LIMIT 1
и я вижу некоторые успешные результаты.- таким образом, я верю, что теперь проверено, что мой стол сохранен в метафоре улья, не так ли?
тогда я включаю thriftserver
./sbin/start-thriftserver.sh
рядом, я включаю Билайна, так что я могу проверить соединение thriftserver
!connect jdbc:hive2://localhost:10000
(а го ввести имя пользователя и пароль)- тогда я выбираю дб по умолчанию:
use default;
- и
show tables;
-> там ничего нет.
Итак, где мои таблицы? beeline или бережливость, указывающая на другой склад или что-то еще?
Edit: Я думаю, что мой thriftserver не использует правильный каталог хранилища, так что я пытаюсь запустить его с опцией конфигурации:
- [еще ничего] SBIN/start-thriftserver.sh --hiveconf spark.sql.warehouse.dir =/код/искра/бережливость/искровой склад
- [все еще ничего] sbin/start-thriftserver.sh --conf spark.sql.warehouse.dir =/код/искра/бережливость/искрового склад
Edit: запустить его в том же физическом каталоге, где было создано wherehouse, кажется, сделать трюк. Хотя, я не знаю, как программно установить путь к чему-то другому и запустить его в другом месте.
BTW, вы можете непосредственно выбрать/создать на паркет 'SELECT * FROM паркет. \' Паркет/файл/местоположение \ 'LIMIT 1'. – mrsrinivas
попробуйте аутентифицировать бережливого сервера тот же пользователь, с которого запущена искровая оболочка/sql. Если пользователь ** искра **, то строка соединения: '! Connect jdbc: hive2: // localhost: 10000 spark spark' – mrsrinivas
Проблема заключалась в том, что я начинал бережливый сервер в другом каталоге, располагается. Теперь мне нужно знать, как на самом деле передавать этот путь, а не физически находиться в этом каталоге – Kristian