在我的spark job中,我从MySQL数据源阅读数据,因为我在很短的时间内提取了如此大的数据,MySQL的CPU会出现峰值。我想降低数据读取速度,这样我的数据库就不会过载。增加或减少分区并不重要,因为它只会分成更小的块,但本质上仍然是并行读取批量数据。
Spark JDBC读取代码
spark
.read()
.options(options)
.jdbc(
"URL",
"table",
dbConfig.getPartitioningColumn(),
lowebound,
upperBound,
numbOfPartitions,
new Properties())
1条答案
按热度按时间kmpatx3s1#
您可以通过不阅读整个表来减小数据的大小。您可以只运行执行某些聚合的查询或只返回所需数据的筛选,而不是传递表名并读取整个数据。这将加快执行速度。