【发布时间】:2015-08-19 16:00:27
【问题描述】:
我正在使用 Java 编写 Spark 应用程序。 如果我有一个自定义元组,假设类“Person”。
Class Person {
public String name1;
public String name2;
public String name3;
}
我有一个
JavaRDD<Person> rdd;
现在我想将它保存到 Cassandra。
假设我在 Cassandra 中有一个名为“people”的表,其中包含“name1”、“name2”和“name3”、“name4”、...、“name10”三列。 根据教程,默认的列映射使用以下代码:
javaFunctions(rdd).writerBuilder("test", "person", mapToRow(Person.class)).saveToCassandra();
这将使用默认的列映射,例如:
Person.name1 --> "name1"
Person.name2 --> "name2"
Person.name3 --> "name3"
但是我想自定义列映射,新的映射是这样的:
Person.name1 --> "name3"
Person.name2 --> "name2"
Person.name3 --> "name1"
甚至我想丢弃 Person.name2
Person.name1 --> "name3"
Person.name3 --> "name1"
无论如何,我想知道是否有办法覆盖或替换默认的 RowWriter?
我应该如何修改列映射?
我找不到任何关于 Java 中自定义列映射的好材料。
【问题讨论】:
标签: apache-spark spark-cassandra-connector