0
我有一個Cassandra表trans_by_date
與列來源,tran_date
(和一些其他列)。我嘗試運行下面的代碼獲取錯誤:Cassandra查詢列映射
java.util.NoSuchElementException: Columns not found in table trans.trans_by_date : TRAN_DATE. The column does exist.
任何語法gotcha?
JavaRDD<TransByDate> transDateRDD = javaFunctions(sc)
.cassandraTable("trans", "trans_by_date", CassandraJavaUtil.mapRowTo(TransByDate.class))
.select(CassandraJavaUtil.column("origin"), CassandraJavaUtil.column("TRAN_DATE").as("transdate"));
public static class TransByDate implements Serializable {
private String origin;
private Date transdate;
public String getOrigin() { return origin; }
public void setOrigin(String id) { this.origin = id; }
public Date getTransdate() { return transdate; }
public void setTransdate(Date trans_date) { this.transdate = trans_date; }
}
感謝
設置爲小寫解決了這個問題。然後出現新問題:'無法將類spark.SparkTest $ TransByDate中的構造函數參數id映射到trans.trans_by_date列 無法將類spark.SparkTest $ TransByDate中的構造函數參數tran_date映射到trans.trans_by_date'列所以我已經將兩個方法變量名稱 - id更改爲原點,tran_date更改爲trandate - 以匹配類別變量名稱。那麼如果這是它工作的唯一方式。 –
@ Sam-T對不起,但我認爲加入原始問題的答案並不是這個論壇打算工作的方式。現在沒有其他人理解這個問題,答案也不再匹配。我會建議恢復所做的更改,並將這些信息作爲附加評論添加到我的答案中。 – Philip
@ Sam-T謝謝你回覆你對這個問題的修改。我無法重現您使用_Failed來映射構造函數parameter_ message的第二個問題。也許它取決於spark-cassandra-connector的版本(我使用版本1.6)。由於我的答案解決了原始問題,您能否將答案標記爲正確?然後其他用戶知道問題已解決。 – Philip