簡體   English   中英

java中的火花卡桑德拉連接器的麻煩

[英]trouble with spark cassandra connector in java

我試圖從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);

任何線索將不勝感激。

在這里查看spark-cassandra-connector中的示例:

JavaApiDemo.java

在示例中,您可以看到如何定義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;
    }  
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM