Spark-SQL连接JDBC的方式及代码写法

提示:文章内容仅供参考!

一、数据加载与保存

通用方式:

SparkSQL 提供了通用的保存数据和数据加载的方式。这里的通用指的是使用相同的API,根据不同的参数读取和保存不同格式的数据,SparkSQL 默认读取和保存的文件格式为parquet

加载数据:

spark.read.load 是加载数据的通用方法。如果读取不同格式的数据,可以对不同的数据格式进行设定。

spark.read.format("…")[.option("…")].load("…")

➢ format("…"):指定加载的数据类型,包括"csv"、"jdbc"、"json"、"orc"、"parquet"和

"textFile"。

➢ load("…"):在"csv"、"jdbc"、"json"、"orc"、"parquet"和"textFile"格式下需要传入加载

数据的路径。

➢ option("…"):在"jdbc"格式下需要传入 JDBC 相应参数,url、user、password 和 dbtable

我们前面都是使用 read API 先把文件加载到 DataFrame 然后再查询,其实,我们也可以直接在文件上进行查询: 文件格式.`文件路径`

spark.sql("select * from json.’/opt/module/data/user.json’").show

保存数据:

df.write.save 是保存数据的通用方法。如果保存不同格式的数据,可以对不同的数据格式进行设定。

df.write.format("…")[.option("…")].save("…")

➢ format("…"):指定保存的数据类型,包括"csv"、"jdbc"、"json"、"orc"、"parquet"和

"textFile"。

➢ save ("…"):在"csv"、"orc"、"parquet"和"textFile"格式下需要传入保存数据的路径。

➢ option("…"):在"jdbc"格式下需要传入 JDBC 相应参数,url、user、password 和 dbtable

保存操作可以使用 SaveMode, 用来指明如何处理数据,使用 mode()方法来设置。

例如:df.write.mode("append").json("/opt/module/data/output")

二、Parquet

Spark SQL 的默认数据源为 P

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你刚刚部署好了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、付费专栏及课程。

余额充值