Как использовать saveTOCassandra()

Я новичок в искре. Я хочу сохранить данные искры в cassandra с условием, что у меня есть RDD, и я хочу сохранить данные этого RDD в еще одну таблицу в cassandra? Возможно ли это, если да, то как?


person Abhimanyu    schedule 02.02.2015    source источник


Ответы (2)


Используйте соединитель Spark-Cassandra.

Как сохранить данные в cassandra: пример из документации:

val collection = sc.parallelize(Seq(("cat", 30), ("fox", 40)))
collection.saveToCassandra("test", "words", SomeColumns("word", "count"))

Посмотреть проект и полную документацию можно здесь: https://github.com/datastax/spark-cassandra-connector

person maasg    schedule 02.02.2015
comment
Я видел эту ссылку, но в моем случае я хочу сохранить кошку в таблицу words1 и лису в таблицу words2, и и кошка, и лиса являются частью одной и той же коллекции, тогда что делать? - person Abhimanyu; 02.02.2015
comment
Тогда вам следует быть более конкретным в вопросе. Могу ли я предложить вам задать новый вопрос с конкретной проблемой и примером кода, который ее иллюстрирует? - person maasg; 02.02.2015

Python pyspark Cassandra saveToCassandra Spark

Представьте, что ваша таблица выглядит следующим образом:

CREATE TABLE ks.test (
  id uuid,
  sampleId text,
  validated boolean,
  cell text,
  gene text,
  state varchar,
  data bigint, PRIMARY KEY (id, sampleId) );

Как вы можете обновить только «проверенное» поле для данного sampleId в тестовой таблице в пространстве ключей ks? Вы можете использовать следующую строку для обновления таблицы в Python.


from pyspark import SparkConf

import pyspark_cassandra

from pyspark_cassandra import CassandraSparkContext

conf = SparkConf().set("spark.cassandra.connection.host", <IP1>).set("spark.cassandra.connection.native.port",<IP2>)

sparkContext = CassandraSparkContext(conf = conf)

rdd = sparkContext.parallelize([{"validated":False, "sampleId":"323112121", "id":"121224235-11e5-9023-23789786ess" }])

rdd.saveToCassandra("ks", "test", {"validated", "sample_id", "id"} )
person Rajesh    schedule 20.05.2016
comment
@maasg stackoverflow.com/questions/52928181/ - person BdEngineer; 22.10.2018