java - 将数据从java存储到cassandra

标签 java python cassandra cql

我正在存储文件数据。我通过 java 读取该文件,当我将文件数据存储在 cassandra 中时,它会给我这个错误。

Exception in thread "main" com.datastax.driver.core.exceptions.SyntaxError: line 1:115 no viable alternative at input 'PRIMARY' (...* from sensorkeyspace.sensortable WHERE [PRIMARY]...)

这是我的查询

CREATE MATERIALIZED VIEW  IF NOT EXISTS sensorkeyspace.texttable AS select * from sensorkeyspace.sensortable WHERE PRIMARY KEY (sensor_id) IS NOT NULL

最佳答案

尝试将 WHERE 子句更改为:

WHERE sensor_id IS NOT NULL PRIMARY KEY (sensor_id)

如果您收到错误消息,表明:

No columns are defined for Materialized View other than primary key

基于CASSANDRA-13564 :

That error message implies you re-used only the partition key/primary key from the base as the partition key for your view (you had no extra clustering columns in your base primary key).

当我有一个带有简单主键的表,并且我尝试使用相同的简单主键创建 View 时,我会收到该消息。

例如,如果我有这张表:

CREATE TABLE stackoverflow.newtable (
  name text PRIMARY KEY,
  score float,
  value float,
  value2 blob);

这失败了:

cassdba@cqlsh:stackoverflow> CREATE MATERIALIZED VIEW IF NOT EXISTS 
  stackoverflow.newtable_view AS SELECT * FROM stackoverflow.newtable 
  WHERE name IS NOT NULL PRIMARY KEY (name);

InvalidRequest: Error from server: code=2200 [Invalid query] 
message="No columns are defined for Materialized View other than primary key"

但这适用于同一张表:

cassdba@cqlsh:stackoverflow> CREATE MATERIALIZED VIEW IF NOT EXISTS 
  stackoverflow.newtable_view AS SELECT * FROM stackoverflow.newtable 
  WHERE score IS NOT NULL AND name IS NOT NULL PRIMARY KEY (score,name);

Warnings :
Materialized views are experimental and are not recommended for production use.

并不真正相关,但请注意最后一部分;关于如何在 Cassandra 中使用 MV 确实不是一个好主意。

关于java - 将数据从java存储到cassandra,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49519332/

相关文章:

database-design - 设计 Cassandra 数据模型的最佳实践是什么?

c# - 如何连接 C# 和 Cassandra

java - 将两个实体(学生、类(class))迭代的列表传递给 spring View

Java数组逆序排序!需要反向反转

python - matplotlib.contourf 级别是否取决于颜色图中的颜色数量?

python - 非常 simplejson 解码

java - cassandra单节点连接错误

java - 我对通用方法不明确

java - 应用程序无法打开链接并崩溃

使用 readline 进行 python 采样会出现内存错误