在 CassandraTable 中设置分区数
Posted
技术标签:
【中文标题】在 CassandraTable 中设置分区数【英文标题】:Set number of partitions in CassandraTable 【发布时间】:2015-04-03 09:19:06 【问题描述】:我将 spark 与 cassandra 一起使用,我正在使用此请求从 cassandra 中选择数据:
val i = sc.cassandraTable[(ClientID, Interaction)](Keyspace, Table).
select("a", "b", "c", "d").where("a in ?", timesIntervalWindows)
这个请求返回超过 5000000 行,但问题是我的 RDD 只包含一个分区!!!! 所以我试图改变 Spark Context 的这个属性:
conf.set("spark.cassandra.input.split.size", "10000")
但它仍然只创建一个分区。 Ps:我不想使用 Coaless 或 repartition,因为它会打乱网络中的所有数据并且需要很多时间。 谁能告诉我我做错了什么或如何解决这个问题!
谢谢。
【问题讨论】:
你试过在RDD上设置分区器吗?好像有一个CassandraRDDPartitioner
【参考方案1】:
输入拆分大小仅使用给定 Spark 分区中的 Cassandra 分区(而不是行)数的估计值。缩放数字以尝试与 Spark 分区中所需的数字或 C* 分区相对应。
目前的工作也正在让您设置保证的分区数量。
【讨论】:
以上是关于在 CassandraTable 中设置分区数的主要内容,如果未能解决你的问题,请参考以下文章