有一种方法可以指定从数据库(Oracle)读取数据(spark.read.jdbc)时不指定上下限的分区数?

问题描述 投票:1回答:2

我正在尝试使用Spark.read.jdbc从Oracle数据库读取数据。如果指定lowerbound,upperbound和numpartitions,则最后一个分区可能大于执行程序的内存。是否有一种方法可以不指定下限和上限(如sqoop)来进行numpartitions?

apache-spark apache-spark-2.0
2个回答
0
投票

您可以通过在重载的DataFrameReader.jdbc()方法中提供一堆查询谓词来定义自己的分区。


0
投票

给出数字DataFrameReader.jdbc(),包含诸如PK或UK的唯一值,并带有索引。索引对于性能而言是可选的。

由于数据自然分布在该列中,因此它将统一划分数据。

columnName
© www.soinside.com 2019 - 2024. All rights reserved.