简体   繁体   English

如何使用Java中的spark仅将几列保存到cassandra

[英]How to save only few columns to cassandra using spark In Java

I'm trying to save a RDD to Cassandra using我正在尝试使用以下方法将 RDD 保存到 Cassandra

JavaRDD<UserSetGet> rddFromGz = sc.parallelize(ListFromS3);

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

Here UserSetGet object has all the fields Initialized.这里 UserSetGet 对象的所有字段都已初始化。

But I wish to save some columns only , how to do that ?但我只想保存一些列,怎么做?

In the doc , it says we can do在文档中,它说我们可以做到

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

But it is not recognising SomeColumns Method.但它无法识别 SomeColumns 方法。

The SomeColumns method is for the Scala api, you're using the Java API... SomeColumns 方法用于Scala api,您使用的是 Java API ...

Maybe it's a good opportunity to switch to Scala或许是转用Scala的好机会

Hope the below lines will help you希望以下几行对您有所帮助

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM