【问题标题】:Partitioning in Spark while connecting to RDBMS连接到 RDBMS 时在 Spark 中进行分区
【发布时间】:2017-08-10 20:11:25
【问题描述】:

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

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

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

【问题讨论】:

    标签: apache-spark


    【解决方案1】:

    你有任何自然键吗?它可能不是唯一的。 lowerBound 和 upperBound 为 Long 值很难确定,不同的日子会有所不同。

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

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

    通过正常的 JDBC 连接。第一个查询将返回 lowerBound,第二个 - upperBound

    【讨论】:

      猜你喜欢
      • 2017-08-26
      • 2017-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-05
      • 1970-01-01
      • 2019-02-10
      • 2018-10-05
      相关资源
      最近更新 更多