【问题标题】:How many partitions spark will create running on aws emr and reading a table from cassandra?spark 将创建多少个分区在 aws emr 上运行并从 cassandra 读取表?
【发布时间】:2021-08-22 12:34:23
【问题描述】:

我正在阅读 cassandra 的表格,我的表格大小为 100 GB。我在 aws EMR 上运行 spark。我有以下问题要问?

  1. spark 中将创建多少个分区,从 cassandra 读取表? [我知道 spark cassandra 连接器具有输入拆分大小属性,默认情况下为 64 MB,因此 spark 分区数 = 数据大小/64 MB。但就我而言,我在 spark 中看到的分区数量存在巨大差异]
  2. 如果cassandra分区之一太大,对spark上的分区数量有影响吗? [我的 Spark 作业因内存问题而失败,但我的印象是数据被 64 MB 分割,是否还有可能出现数据偏斜?]

【问题讨论】:

  • 它和 emr 有什么关系吗?

标签: apache-spark pyspark cassandra spark-cassandra-connector


【解决方案1】:

如果 Cassandra 分区小于拆分大小,则它们将合并为单个 Spark 分区。但如果 Cassandra 分区大于拆分大小,Spark 分区将是 Cassandra 分区的大小 - Cassandra 连接器不会将 Cassandra 分区拆分为块。

来自 Spark Cassandra 连接器的作者之一的This blog post 详细讨论了分区如何使用它。

【讨论】:

    猜你喜欢
    • 2017-10-20
    • 1970-01-01
    • 2017-03-28
    • 2020-07-14
    • 2020-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多