【问题标题】:How to use saveTOCassandra()如何使用 saveTOCassandra()
【发布时间】:2016-05-21 00:56:10
【问题描述】:

我是 spark 新手,我想将我的 spark 数据保存到 cassandra,条件是我有一个 RDD,并且我想将此 RDD 的数据保存到 cassandra 中的多个表中?如果可以的话,这可能吗?

【问题讨论】:

    标签: cassandra apache-spark spark-streaming rdd


    【解决方案1】:

    使用 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

    【讨论】:

    • 我看过这个链接,但在我的情况下,我想将“cat”保存到表“words1”和“fox”到表“words2”,并且“cat”和“fox”都是其中的一部分相同的集合然后怎么办?
    • 那么您应该在问题中更加具体。我可以建议您针对具体问题和说明它的示例代码提出一个新问题吗?
    【解决方案2】:

    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) );
    

    如何仅更新键空间 ks 中测试表中给定 sampleId 的“已验证”字段?您可以使用以下行在 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"} )
    
    猜你喜欢
    • 2019-03-21
    • 2017-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-12
    • 2017-06-20
    • 1970-01-01
    • 2017-03-16
    相关资源
    最近更新 更多