На самом деле я использую искру и кассандру для выполнения некоторых заданий. Я хотел бы присоединиться к RDD с Кассандрой, используя joinWithCassandraTable.
В моем случае мне нужно сделать это только с вторичным индексом, но, похоже, мне нужно добавить и ключ раздела.
Myrdd.repartitionByCassandraReplica(keyspace, table)
.joinWithCassandraTable(keyspace, table).on(SomeColumns(MY_KEY))
Когда MY_KEY является ключом раздела, он работает, но не с вторичным индексом. Ты хоть представляешь, как это сделать?
С https://github.com/datastax/spark-cassandra-connector/blob/master/doc/2_loading.md#using-joinwithcassandratable я получил это:
Совместимость joinWithCassandraTable и других CassandraRDD API. Результат joinWithCassandraRDD совместим со всеми стандартными опциями API CassandraRDD с одной дополнительной функцией .on. Используйте .on (ColumnSelector) для указания, к каким столбцам присоединиться. Поскольку .on применяется только к CassandraJoinRDD, он должен немедленно следовать за вызовом joinWithCassandraTable.
Поддерживается объединение любого столбца или столбцов в первичном ключе, если его можно преобразовать в действительный запрос CQL. Это означает, что должен быть указан весь ключ раздела, и если указан какой-либо ключ кластеризации, должны быть указаны все предыдущие ключи кластеризации.