当前位置: 首页 > 知识库问答 >
问题:

Geomesa:带复合键的Cassandra表

卓学智
2023-03-14

是否可以用GeoMesa指定键(即复合键)创建一个Cassandra表?我有一个写到Cassandra的spark作业,输出表需要一个复合键。我现在希望通过GeoMesa api而不是直接向Cassandra创建/编写相同的表。格式如下:

CREATE TABLE IF NOT EXISTS mykeyspace.testcompkey (pkey1 text, ckey1 int, attr1 int, attr2 int, minlat decimal, minlong decimal, maxlat decimal, maxlong decimal, updatetime text, PRIMARY KEY((pkey1), ckey1) )

共有1个答案

耿锦
2023-03-14

GeoMesa确实为Cassandra表使用复合分区和集群键,但是这些键不能由用户配置--它们是为了方便空间/时间/属性CQL查询而设计的。

键可以在这里的索引表实现中看到。columns字段(例如这里)定义主键。partition=true的列用于分区,其余的列用于集群

 类似资料:
  • 我在使用复合主键创建实体时遇到问题,该键也是外键。这是我的表和关系表原理图。当我想创建新闻实体时,我收到了带有null creatingnews的错误消息。新闻翻译有复合主键,外键引用到新闻表。 这是我的代码: 新闻聚合 新闻翻译 标签 新闻语言ID 在NewsFactory中,我希望使用NewsTranslation创建NewsAggregate,但有错误消息NullPointer。 新闻工厂

  • 我们大量使用cassandra wide rows来存储每个用户的时间序列,因为它们非常适合那个用例。假设我们有一个表: 如果时间戳上的冲突可能发生(相同的用户可以用相同的时间戳发出两个不同的事件)。假设我们对所有事件都有一个顺序(每个事件都有一个序列int),那么调整这个模式来解决这个问题的最佳方法是什么。 我将无法执行-cassandra不允许这样做。

  • 问题内容: 我使用spring数据休息作为基础。但是当实体具有复合主键时,我不知道如何通过提供主键来获得实体。 河类: RiverPK课程: RiverDAO类: 然后,我可以通过调用get http:// localhost:8080 / river / 获取河流数据,还可以通过调用post http:// localhost:8080 / river / {river json} 为db创建新

  • 我有一个带有复合分区键的 cassandra 表(time_bucket 时间戳,节点 int)。time_bucket值是插入数据的时间,秒转换为 00,节点值范围为 0 到 100 spark作业每分钟运行一次,从表中提取数据。该表包含近2500万条记录,每分钟都有记录被添加。 如果我的 Spark 作业每次运行时都选择所有记录,则作业将在 2 分钟内完成。但是如果我使用: s < code

  • 插入entp(col1、col2、col3)值(“ABC”、“XYZ”、null) 谢了!