使用 IntelliJ 使用 sbt 将 Scala 与 Hive 数据库连接起来以获取依赖项
Connecting Scala with Hive Database using sbt for dependencies using IntelliJ
我很难使用 Intellij 或带有 scala 的基本命令行连接到配置单元数据库(java 也会很高兴)。我过去能够通过将 MYSQL 数据库添加到库 mysql-Connector 来连接到它。但我无法以某种方式将 jar 文件添加到它工作的项目结构中。
并使事情变得更加困难。我已经安装了 ubuntu 和 hive、spark、hadoop,我正在通过网络连接到它。
有什么方法可以在 sbt 文件上添加依赖项吗?
最后,我知道有类似的问题,但他们没有详细说明如何从 scala 连接到配置单元数据库
`import java.sql.SQLException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.DriverManager;
object HiveJdbcClient extends App {
val driverName = "org.apache.hadoop.hive.jdbc.HiveDriver";
Class.forName(driverName);
val con=DriverManager.getConnection("jdbc:hive://http://192.168.43.64:10000/default", "", "");
val stmt = con.createStatement();
val tableName = "testHiveDriverTable";
stmt.executeQuery("drop table " + "wti");
var res = stmt.executeQuery("create table " + tableName + " (key int, value string)");
// select * query
var sql = "select * from " + tableName;
res = stmt.executeQuery(sql);
while (res.next()) {System.out.println(String.valueOf(res.getInt(1)) + "\t" + res.getString(2));
}
// regular hive query
sql = "select count(1) from " + tableName;
res = stmt.executeQuery(sql);
while (res.next()) {
System.out.println(res.getString(1));
}
}`
hive 3.1.2 的驱动名称不正确,应该是
org.apache.hive.jdbc.HiveDriver
比照https://hive.apache.org/javadocs/r3.1.2/api/org/apache/hive/jdbc/HiveDriver.html
我很难使用 Intellij 或带有 scala 的基本命令行连接到配置单元数据库(java 也会很高兴)。我过去能够通过将 MYSQL 数据库添加到库 mysql-Connector 来连接到它。但我无法以某种方式将 jar 文件添加到它工作的项目结构中。
并使事情变得更加困难。我已经安装了 ubuntu 和 hive、spark、hadoop,我正在通过网络连接到它。
有什么方法可以在 sbt 文件上添加依赖项吗?
最后,我知道有类似的问题,但他们没有详细说明如何从 scala 连接到配置单元数据库
`import java.sql.SQLException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.DriverManager;
object HiveJdbcClient extends App {
val driverName = "org.apache.hadoop.hive.jdbc.HiveDriver";
Class.forName(driverName);
val con=DriverManager.getConnection("jdbc:hive://http://192.168.43.64:10000/default", "", "");
val stmt = con.createStatement();
val tableName = "testHiveDriverTable";
stmt.executeQuery("drop table " + "wti");
var res = stmt.executeQuery("create table " + tableName + " (key int, value string)");
// select * query
var sql = "select * from " + tableName;
res = stmt.executeQuery(sql);
while (res.next()) {System.out.println(String.valueOf(res.getInt(1)) + "\t" + res.getString(2));
}
// regular hive query
sql = "select count(1) from " + tableName;
res = stmt.executeQuery(sql);
while (res.next()) {
System.out.println(res.getString(1));
}
}`
hive 3.1.2 的驱动名称不正确,应该是
org.apache.hive.jdbc.HiveDriver
比照https://hive.apache.org/javadocs/r3.1.2/api/org/apache/hive/jdbc/HiveDriver.html