Cassandra 查询列映射
Cassandra Query column mapping
我有一个 Cassandra table trans_by_date
,其列为 origin、tran_date
(以及其他一些列)。我尝试 运行 下面的代码得到错误:
java.util.NoSuchElementException: Columns not found in table trans.trans_by_date : TRAN_DATE. The column does exist.
有语法问题吗?
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; }
}
谢谢
如果您将 CassandraJavaUtil.column("TRAN_DATE") 更改为 CassandraJavaUtil.column("tran_date"),即仅使用小写的列名称,您的代码应该可以正常工作。
似乎 CassandraJavaUtil 在创建 select 查询时将列名放在双引号中。
关于 cassandra 中的大写和小写处理,请参阅以下内容link:
https://docs.datastax.com/en/cql/3.3/cql/cql_reference/ucase-lcase_r.html
我有一个 Cassandra table trans_by_date
,其列为 origin、tran_date
(以及其他一些列)。我尝试 运行 下面的代码得到错误:
java.util.NoSuchElementException: Columns not found in table trans.trans_by_date : TRAN_DATE. The column does exist.
有语法问题吗?
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; }
}
谢谢
如果您将 CassandraJavaUtil.column("TRAN_DATE") 更改为 CassandraJavaUtil.column("tran_date"),即仅使用小写的列名称,您的代码应该可以正常工作。
似乎 CassandraJavaUtil 在创建 select 查询时将列名放在双引号中。
关于 cassandra 中的大写和小写处理,请参阅以下内容link: https://docs.datastax.com/en/cql/3.3/cql/cql_reference/ucase-lcase_r.html