首页 文章

在连接到RDBMS时在Spark中进行分区

提问于
浏览
1

假设我有一个包含10,000条记录的RDBMS表,其中有一列(pk_key),它是一个从1到10,000的序列值 . 我打算通过spark阅读它 . 我打算分成10个分区 .

所以在DataFrameReader jdbc方法中,我的columnName将是“pk_key”,numPartitions将是10.这些应该是lowerBound和upperBound?

PS:我的实际记录数要高得多,我只需要了解它是如何工作的?

1 回答

  • 0

    你有自然钥匙吗?它可能不是唯一的 . 很难确定lowerBound和upperBound到Long的值,它会在不同的日子里有所不同 .

    你可以做的一件事是运行两个查询:

    select min(pk_key) from table;
    select max(pk_key) from table;
    

    通过普通的JDBC连接 . 第一个查询将返回lowerBound,第二个查询将返回upperBound

相关问题