我正在尝试从java中的spark查询cassandra。下面是获取数据的代码,但是mapToRow方法有两个参数。第一个是类,第二个是ColumnMapper。如何在java中获取ColumnMapper类的实例。谷歌推荐创建派生类JavaBeanColumnMapper的对象,但没有发现JavaBeanColumnMapper类应该如何实例化。
List<String> dates = Arrays.asList("2015-02-02","2015-02-08");
JavaRDD<DailyTaxlot> openTaxlots = CassandraJavaUtil.javaFunctions(sc).
cassandraTable("wedbush_praveen_testing", "cf_taxlots",CassandraJavaUtil.mapToRow(DailyTaxlot.class),).
where("openclosetag=?","Open").where("rundate IN",dates);任何线索都将不胜感激。
发布于 2015-06-28 04:31:31
看一下来自spark-cassandra-connector的示例:
在这个示例中,您可以看到Person bean类是如何定义的。API将根据需要为每一行实例化它。
JavaRDD<Person> rdd = CassandraJavaUtil.javaFunctions(sc).cassandraTable("test", "people", mapRowTo(Person.class));
// Bean definition
public static class Person implements Serializable {
private Integer id;
private String name;
private Date birthDate;
public static Person newInstance(Integer id, String name, Date birthDate) {
Person person = new Person();
person.setId(id);
person.setName(name);
person.setBirthDate(birthDate);
return person;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Date getBirthDate() {
return birthDate;
}
public void setBirthDate(Date birthDate) {
this.birthDate = birthDate;
}
}https://stackoverflow.com/questions/31072732
复制相似问题