spark sql jdbc mysql_SPARK_sql加载,hive以及jdbc使用

本文详细介绍了如何使用Spark Shell通过JDBC连接MySQL数据库,包括加载数据到DataFrame、使用properties文件设置连接参数、以及保存DataFrame回MySQL的两种方法,并展示了指定列数据类型的写入选项。无论是初学者还是经验丰富的开发者,都能从中了解Spark与MySQL的数据操作流程。
摘要由CSDN通过智能技术生成

sql加载

20190329011206333039.png

20190329011206643598.png

格式

20190329011206793995.png

20190329011206891655.png

或者下面这种直接json加载

20190329011207013730.png

或者下面这种spark的text加载

20190329011207126039.png

20190329011207251043.png

以及rdd的加载

20190329011207372142.png

20190329011207442457.png

20190329011207579181.png

20190329011207694420.png

20190329011207847746.png

20190329011207971774.png

上述记得配置文件加入.mastrt("local")或者spark://master:7077

20190329011208075294.png

20190329011208173930.png

dataset的生成

20190329011208289169.png

下面是dataframe

20190329011208407338.png

下面是dataset

20190329011208524530.png

20190329011208630003.png

20190329011208744265.png

20190329011208900521.png

20190329011209023572.png

20190329011209147601.png

$ bin/spark-shell --master spark://master01:7077 --jars mysql-connector-java-5.1.27-bin.jar

加载连接的两种方式

20190329011209277488.png

20190329011209277488.png

// Note: JDBC loading and saving can be achieved via either the load/save or jdbc methods

// Loading data from a JDBC source

val jdbcDF = spark.read.format("jdbc").option("url",

"jdbc:mysql://master01:3306/mysql").option("dbtable", "db").option("user",

"root").option("password", "hive").load()

val connectionProperties = new Properties()

connectionProperties.put("user", "root")

connectionProperties.put("password", "hive")

val jdbcDF2 = spark.read .jdbc("jdbc:mysql://master01:3306/mysql", "db", connectionProperties)

保存数据的两种方式

20190329011209453276.png

// Saving data to a JDBC source

jdbcDF.write

.format("jdbc")

.option("url", "jdbc:mysql://master01:3306/mysql")

.option("dbtable", "db")

.option("user", "root")

.option("password", "hive")

.save()

jdbcDF2.write .jdbc("jdbc:mysql://master01:3306/mysql", "db", connectionProperties)

20190329011209625158.png

// Specifying create table column data types on write

jdbcDF.write

.option("createTableColumnTypes", "name CHAR(64), comments VARCHAR(1024)")

.jdbc("jdbc:mysql://master01:3306/mysql", "db", connectionProperties)

20190329011209710122.png

20190329011209827314.png

20190329011209951342.png

20190329011210063651.png

20190329011210312684.png

20190329011210498238.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值