spark筆記之數據源之JDBC

1. JDBCjava

Spark SQL能夠經過JDBC從關係型數據庫中讀取數據的方式建立DataFrame,經過對DataFrame一系列的計算後,還能夠將數據再寫回關係型數據庫中。node

1.1. SparkSql從MySQL中加載數據
1.1.1 經過IDEA編寫SparkSql代碼mysql

spark筆記之數據源之JDBC
spark筆記之數據源之JDBC
執行查看效果:
spark筆記之數據源之JDBC
1.1.2 經過spark-shell運行sql

(1)、啓動spark-shell(必須指定mysql的鏈接驅動包)shell

spark-shell \

 

--master spark://hdp-node-01:7077 \

 

--executor-memory 1g \

 

--total-executor-cores  2 \

 

--jars /opt/bigdata/hive/lib/mysql-connector-java-5.1.35.jar \

 

--driver-class-path /opt/bigdata/hive/lib/mysql-connector-java-5.1.35.jar

(2)、從mysql中加載數據數據庫

val mysqlDF = spark.read.format("jdbc").options(Map("url" -> "jdbc:mysql://192.168.200.150:3306/spark", "driver" -> "com.mysql.jdbc.Driver", "dbtable" -> "iplocation", "user" -> "root", "password" -> "123456")).load()

(3)、執行查詢
spark筆記之數據源之JDBC
1.2. SparkSql將數據寫入到MySQL中1.2.1 經過IDEA編寫SparkSql代碼maven

(1)編寫代碼
spark筆記之數據源之JDBC
spark筆記之數據源之JDBC
(2)用maven將程序打包ide

經過IDEA工具打包便可工具

(3)將Jar包提交到spark集羣url

spark-submit \

 

--class itcast.sql.SparkSqlToMysql \

 

--master spark://hdp-node-01:7077 \

 

--executor-memory 1g \

 

--total-executor-cores 2 \

 

--jars /opt/bigdata/hive/lib/mysql-connector-java-5.1.35.jar  \

 

--driver-class-path /opt/bigdata/hive/lib/mysql-connector-java-5.1.35.jar \

 

/root/original-spark-2.0.2.jar  /person.txt

spark筆記之數據源之JDBC
(4)查看mysql中表的數據
spark筆記之數據源之JDBC

相關文章
相關標籤/搜索