【问题标题】:Save JavaPairRDD to Cassandra将 JavaPairRDD 保存到 Cassandra
【发布时间】:2017-06-19 20:45:40
【问题描述】:

我正在尝试将 Spark 创建的 JavaPairRDD 放入 Cassandra。 JavaRDD 的示例很多,但 PairRDD 的示例不多。

我的 JavaPairRDD 如下所示:

JavaPairRDD<String, List<Tuple<String, Long>>> pairs

我正在尝试保存到 Cassandra 表,其列定义如下:

name TEXT PRIMARY KEY,
list LIST<TUPLE<STRING, LONG>>

我知道我可能不得不使用 cassandra utils 中的 javaFunctions,但是我不确定语法,也不明白 RowWriterFactory 应该做什么。

【问题讨论】:

    标签: java apache-spark cassandra rdd spark-cassandra-connector


    【解决方案1】:

    JavaPairRDD 包含 Tuple2。您可以尝试下面的代码,但我认为在返回RowWriterFactoryCassandraJavaUtil.mapTupleToRow 函数中不支持泛型集合类型作为类类型。你可以在https://github.com/datastax/spark-cassandra-connector/blob/master/doc/7_java_api.md找到mapTupleToRow的详细信息

    javaFunctions(javaPairRDD).writerBuilder("cassandrakeyspace", "cassandratable", CassandraJavaUtil.mapTupleToRow(A.class, B.class)).saveToCassandra();
    

    【讨论】:

      猜你喜欢
      • 2016-01-30
      • 2017-04-10
      • 1970-01-01
      • 2016-05-02
      • 1970-01-01
      • 2015-05-10
      • 2015-09-01
      • 2018-10-19
      • 2016-08-05
      相关资源
      最近更新 更多