【spark-sql】使用JDBC编程访问,spark访问hive

本文详细介绍了如何使用Spark通过JDBC编程方式访问Hive数据库,包括启动thriftserver服务、引入hive-jdbc依赖包以及具体代码实现,适用于需要在Spark环境中操作Hive数据的开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用JDBC编程访问,spark访问hive

1.启动thriftserver服务 (一定先启动服务,否则会报错)

./start-thriftserver.sh --master local[2] --jars /opt/mysql-connector-java-5.1.22-bin.jar 

2.引入hive-jdbc包

  <dependency>
      <groupId>org.spark-project.hive</groupId>
      <artifactId>hive-jdbc</artifactId>
      <version>1.2.1.spark2</version>
    </dependency>

3.用代码连接

import java.sql.DriverManager

/**
  * 通过JDBC的方式访问
  */
object SparkSQLThriftserverApp {

  def main(args: Array[String]): Unit = {
    Class.forName("org.apache.hive.jdbc.HiveDriver")
    val conn = DriverManager.getConnection("jdbc:hive2://hadoop01:10000","root","")
    val pstmet = conn.prepareStatement("select t.order_id ,t.user_id from orders t limit 10")
    val rs = pstmet.executeQuery()
    while(rs.next()){
      println("order_id:"+rs.getString("order_id") + ",user_id:"+rs.getString("user_id"))
    }

    rs.close()
    pstmet.close()
    conn.close()
  }
}

在这里插入图片描述

如果你刚刚部署好了Spark-SQL并且想要使用JDBC连接到它,你需要先确保已经安装并配置好了JDBC驱动程序。通常来说,你需要下载相应的JDBC驱动程序,然后将其添加到Spark-SQL的CLASSPATH中。 一旦你安装好了JDBC驱动程序并将其添加到Spark-SQL的CLASSPATH中,你可以使用以下代码来连接到Spark-SQL: ``` import java.sql.DriverManager import java.sql.ResultSet import java.sql.Statement object SparkSQLJdbcExample { def main(args: Array[String]) { val driver = "org.apache.hive.jdbc.HiveDriver" val url = "jdbc:hive2://localhost:10000/default" val username = "your_username" val password = "your_password" var connection:java.sql.Connection = null var statement:Statement = null var resultSet:ResultSet = null try { Class.forName(driver) connection = DriverManager.getConnection(url, username, password) statement = connection.createStatement() resultSet = statement.executeQuery("select * from your_table") while ( resultSet.next() ) { val id = resultSet.getInt("id") val name = resultSet.getString("name") println("id = " + id + ", name = " + name) } } catch { case e: Throwable => e.printStackTrace } finally { try { if (resultSet != null) resultSet.close() if (statement != null) statement.close() if (connection != null) connection.close() } catch { case e: Throwable => e.printStackTrace } } } } ``` 在这个例子中,我们使用Hive JDBC驱动程序连接到Spark-SQL。你需要将`url`、`username`和`password`替换为你自己的值。然后,你可以使用`DriverManager.getConnection()`方法连接到Spark-SQL,并使用`statement.executeQuery()`方法执行SQL查询。 请注意,这个例子只是用于演示如何使用JDBC连接到Spark-SQL。实际上,你可能需要更复杂的代码来处理连接和查询
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值