проблема с соединителем искры cassandra в java

Я пытаюсь запросить cassandra из искры в java. Ниже приведен код для получения данных, но метод mapToRow принимает два параметра. первый — это класс, а второй — ColumnMapper. Как получить экземпляр класса ColumnMapper в java. Погуглив, он рекомендует создать объект производного класса 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);

Любое руководство будет оценено.


person 107    schedule 26.06.2015    source источник


Ответы (1)


Взгляните на пример из spark-cassandra-connector здесь:

JavaApiDemo.java

В примере вы можете увидеть, как определяется класс bean-компонента Person. 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;
    }  
}
person Jim Meyer    schedule 27.06.2015