Я новый пользователь для Hive и только что начал использовать его для проекта. У меня возникла проблема с подключением к базе данных с помощью java. Это объясняется следующим образом:Исключение, вызванное при запросе базы данных Hive Derby через JDBC
Я запустил базу данных Hive на своей машине, которая создала дерби metastore_db
с использованием встроенного драйвера Derby. Теперь я хочу запросить этот metastore_db
через отдельную программу Java для выдачи запросов.
Я следил за несколькими трюками, которые я мог найти в Интернете, но до сих пор не могу получить эту работу.
Снимок моего файла Java:
String url = "jdbc:derby:metastore_db;create=true";
String username = "APP";
String password = "mine";
String drivername = "org.apache.derby.jdbc.EmbeddedDriver";
Connection con = DriverManager.getConnection(url,username, password);
Statement stmt = con.createStatement();
res = stmt.executeQuery("describe " + tableName);
Запуск файла Java:
Я поместил его в той же папке, что и metastore_db, а затем запустить его с помощью следующей команды:
java -cp "derby-10.4.2.jar:." ConnectTesting
Я получаю следующее исключение синтаксиса:
java.sql.SQLException: Syntax error: Encountered "describe" at line 1, column 1.
Некоторые из вещей, которые я уже пробовали:
url = "jdbc:derby:metastore_db;create=false";
url = "jdbc:derby://localhost:10000/metastore_db";
url = "jdbc:derby://localhost:1527/metastore_dbDB"; // By default port at which hive listens
выше два дают ошибку, как:Нет подходящего драйвера найдено для JDBC: дерби: // localhost: 10000/metastore_db
url = "jdbc:derby:<full_path_to_db>/metastore_db";
- Если у меня есть мой HIVE сервер уже запущен, а затем из другого терминала я выполнить файл Java, он говорит:
«Другой пример Дерби, возможно, уже загрузили базу данных»
Может кто-то любезно указывает на то, что я делаю неправильно, и как я могу подключиться к уже существующей базе данных для выдачи запросов.