我正在使用 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 中自定义列映射的好材料。