jdbc连接hive(hiveserver2,spark thriftserver)

hiveserver2,spark thriftserver两者连接的代码是一样的,区别在于启动的服务不一样

import java.sql.*;

/**
 * Created by zheng on 2020/4/9.
 */
public class HiveClient {
    public static void main(String[] args) throws SQLException {
        try {
            Class.forName("org.apache.hive.jdbc.HiveDriver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
            System.exit(1);
        }
        Connection con = DriverManager.getConnection("jdbc:hive2://localhost:10000/default", "zheng", "");
        Statement stmt = con.createStatement();
        ResultSet resultSet = stmt.executeQuery("show databases" );
        System.out.println(resultSet.toString());
    }
}
        <dependency>
            <groupId>org.apache.hive</groupId>
            <artifactId>hive-jdbc</artifactId>
            <version>2.3.7</version>
        </dependency>

发现连接不上,原因是没有启动hiveserver2(spark thriftserver)服务

#启动hivever2
$ /hive-3.1.2/bin
$ hiveserver2

#启动spark thriftserver
$ cd /spark-3.0.0/sbin/
$ ./start-thriftserver.sh

另开一个窗口执行:beeline

启动后访问http://localhost:10002/

启动如果还是报错,参考:https://blog.csdn.net/zheng911209/article/details/105422908

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用Java连接Spark Thrift Server的一些步骤: 1. 首先,您需要下载并安装适当的JDBC驱动程序,以便Java应用程序能够与Spark Thrift Server进行通信。您可以在以下链接中找到不同数据库的JDBC驱动程序:https://docs.databricks.com/integrations/bi/jdbc-odbc-bi.html#jdbc-driver-download 2. 在Java项目中导入JDBC驱动程序的JAR文件。 3. 创建一个新的Java类,并在类中添加以下代码: ``` import java.sql.*; public class SparkThriftServer { public static void main(String[] args) { String url = "jdbc:hive2://<spark-thrift-server-host>:<port>/default"; String user = "<username>"; String password = "<password>"; String query = "SELECT * FROM <table-name>"; try { // Establish connection Connection conn = DriverManager.getConnection(url, user, password); // Execute query Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(query); // Process results while (rs.next()) { // Retrieve data from the result set int id = rs.getInt("id"); String name = rs.getString("name"); System.out.printf("ID: %d, Name: %s\n", id, name); } // Clean up rs.close(); stmt.close(); conn.close(); } catch (SQLException e) { System.err.println("Error executing query: " + e.getMessage()); } } } ``` 在上面的代码中,请确保更改以下值: - `<spark-thrift-server-host>`:Spark Thrift Server的主机名或IP地址。 - `<port>`:Spark Thrift Server正在侦听的端口。 - `<username>`:连接Spark Thrift Server的用户名。 - `<password>`:连接Spark Thrift Server的密码。 - `<table-name>`:从中检索数据的表名。 4. 运行Java应用程序,应该可以连接Spark Thrift Server并从表中检索数据。 请注意,上面的示例是使用Hive2 JDBC驱动程序连接Spark Thrift Server的示例。如果您使用的是不同的数据库,需要使用相应的JDBC驱动程序和URL。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值