spark-sql jdbc连接参数优化
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);