Я новый пользователь Hive и только начал использовать его для проекта. У меня проблема с подключением к базе данных с помощью java. Это объясняется следующим образом:
Я запустил базу данных Hive на своем компьютере, который создал дерби metastore_db
с помощью встроенного драйвера дерби. Теперь я хочу запросить этот 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:derby://localhost:10000/metastore_db
url = "jdbc:derby:<full_path_to_db>/metastore_db";
- Если у меня уже запущен сервер HIVE, а затем с другого терминала я запускаю java-файл, он говорит:
"Другой экземпляр Derby, возможно, уже загрузил базу данных"
Может ли кто-нибудь указать, что я делаю неправильно и как я могу подключиться к уже существующей базе данных для выдачи запросов.