Как мы можем выбрать запрос, используя фантомный драйвер без определения таблицы
У меня есть потоковая передача данных от SparkStreaming. Который мне нужно обработать и, наконец, хотите сохранить данные в Кассандре. Итак, ранее я пытался использовать разъем SparkCassandra. Но это не дает доступ к объекту SparkStreaming Context на рабочих. Итак, я должен использовать отдельный драйвер cassandra-scala. Следовательно, я закончил с фантомом. Теперь мой вопрос: я уже определил семейство столбцов в Касснандре. Итак, как мне сделать запрос выбора и обновления из Scala.
Я следовал за этой документацией link1, но я не понимаю, почему мы должны дать определение таблицы на стороне клиента (scala code). Почему мы не можем просто дать Keyspace
, ClusterPoints
а также ColumnFamily
и покончим с этим.
object CustomConnector {
val hosts = Seq("IP1", "IP2")
val Connector = ContactPoints(hosts).keySpace("KEYSPACE_NAME")
}
realTimeAgg.foreachRDD{ x => if (x.toLocalIterator.nonEmpty) {
x.foreachPartition {
How to achieve select/insert in Cassandra table here using phantom
}
1 ответ
Это пока невозможно с помощью фантома, мы активно работаем над phantom-spark
чтобы позволить вам сделать это, но на данном этапе это еще несколько месяцев.
Тем временем вам придется положиться на коннектор искровой кассандры и использовать не-безопасный API для достижения этой цели. Это более неудачная установка, но в самое ближайшее время это будет решено.