我使用带cassandra的spark,并且我正在使用此请求从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或重新分区,因为它会缩短网络中的所有数据并花费大量时间。 有人可以告诉我我做错了什么或如何解决这个问题!
谢谢。
答案 0 :(得分:2)
输入拆分大小仅使用将在给定Spark分区中的Cassandra分区(而不是行)的数量的估计。缩放数字以尝试对应于Spark分区一侧所需的数字或C *分区。
目前的工作还在于让您设置有保证的分区数。