Кассандра включается только по вторичному индексу - PullRequest
0 голосов
/ 29 апреля 2018

На самом деле я использую искру и кассандру для выполнения некоторых заданий. Я хотел бы присоединиться к 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. Это означает, что должен быть указан весь ключ раздела, и если указан какой-либо ключ кластеризации, должны быть указаны все предыдущие ключи кластеризации.

...