1,sparkSQK -jdbc
官方文檔 https://spark.apache.org/docs/3.2.1/sql-data-sources-jdbc.html
- 支持的數據庫
DB2
MariaDB
MS Sql
Oracle
PostgreSQL
- 訪問數據庫可通過
- spark.read().jdbc(driver,tableName,'分區規則(字符串數組)',properties)連接
- spark.format("jdbc")
.option('url','連接地址')
.option('driver','驅動名稱')
.option('dbtable','表名稱')
.option('driver','xxx')
...
- 可配置參數
- partitionColumn, lowerBound, upperBound :分區字段,下界值,上界值,該三個值必須同時配置
- numPartitions :分區數量,spark可以根據上界、下屆以及數量自己平均分配分區
- fetchsize :讀一次讀多少條,適合大數據量配置
- batchSize : 寫 一次寫多少數據,適合大數據量配置
- isolationLevel 數據庫隔離級別
- 代碼實例
Dataset<Row> ds= spark.read()
.option("partitionColumn", "出生年月日").option("lowerBound", "1921-01-01").option("upperBound", "2032-01-01").option("numPartitions", 20)
.option("fetchsize", "1000")
.jdbc(dbUrl, "tableName", properties);