我正在使用spark-cassandra-connector_2.11-2.0.0.jar
连接到Cassandra(版本2.1.9)。卡桑德拉的分区程序是“ ByteOrderedParitioner”。
但是,当我提交Spark驱动程序时,它显示:
Exception in thread "main" java.lang.IllegalArgumentException: Unsupported partitioner: org.apache.cassandra.dht.ByteOrderedPartitioner
。
似乎源代码中仅支持“ Murmur3Partitioner”和“ RandomPartitioner”。
但是Hadoop支持ByteOrderedPartitioner。我不知道当我强制使用ByteOrderedPartitioner
时该如何解决。
感谢您的帮助。
答案 0 :(得分:2)
它不在Spark中,因为没人应该再使用ByteOrderedPartitioner
。这是因为:
A)存在仅是为了向后兼容。
B)其创建(和后续使用)被广泛认为是坏想法。
对此已进行了讨论。在这里查看我对类似问题的回答:Cassandra ByteOrderedPartitioner
我建议您:
Murmur3Partitioner
重建集群。