如何使用spark在Java中只保存少量列到cassandra

时间:2016-03-08 13:23:06

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

我正在尝试使用

将RDD保存到Cassandra
JavaRDD<UserSetGet> rddFromGz = sc.parallelize(ListFromS3);

CassandraJavaUtil.javaFunctions(rddFromGz)
        .writerBuilder("dmp", "table", mapToRow(UserSetGet.class)).saveToCassandra();

这里UserSetGet对象的所有字段都已初始化。

但我希望只保存一些专栏,怎么做呢?

在文档中,它说我们可以做到

.saveToCassandra("test", "words", SomeColumns("word", "1"));

但它没有识别SomeColumns Method。

2 个答案:

答案 0 :(得分:1)

SomeColumns方法适用于 Scala api,您正在使用Java API ...

也许这是切换到Scala的好机会

答案 1 :(得分:0)

希望以下几行能为您提供帮助

val w1 = CassandraJavaUtil.javaFunctions(rdd23).writerBuilder("smart","emp", CassandraJavaUtil.mapToRow(classOf[emp]))
w1.withColumnSelector(CassandraJavaUtil.someColumns("pid","page")).saveToCassandra()