Cassandra 3.11.1 地理空间支持

Posted

技术标签:

【中文标题】Cassandra 3.11.1 地理空间支持【英文标题】:Cassandra 3.11.1 GeoSpatial support 【发布时间】:2020-04-27 01:13:27 【问题描述】:

我正在尝试使用 Cassandra 文档中的 GeoSpatial 示例:https://docs.datastax.com/en/dse/6.7/cql/cql/cql_using/search_index/queriesGeoSpatial.html

CREATE TABLE test ( id text PRIMARY KEY,  point 'PointType',  linestring 'LineStringType');

我收到错误:

SyntaxException:设置类型 PointType 时出错:找不到抽象类型类 'org.apache.cassandra.db.marshal.PointType'

我正在使用堆栈: [cqlsh 5.0.1 |卡桑德拉 3.11.1 | CQL 规范 3.4.4 |原生协议 v4]

如何解决?

【问题讨论】:

【参考方案1】:

您正在查看的文档适用于 DSE 6.7,它是一种商业产品,在 Cassandra 3.11.1 上具有扩展功能。 Cassandra 3.11.1 不支持PointType

根据您要做什么,有许多支持 Cassandra 地理空间扩展的开源项目:

GeoMesa

Elassandra

【讨论】:

根据我的经验,Cassandra 上的 GeoMesa 非常重量级,会生成大量查询,使集群过载。

以上是关于Cassandra 3.11.1 地理空间支持的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 NoSQL 大规模运行地理空间查询?

spring-data-cassandra 存储库的多个键空间支持?

cassandra 中的地理感知分区

Elasticsearch系列(14)Query之地理空间查询

在 Cassandra 中存储地理位置详细信息和在 Elastic Search 中存储索引的最佳方式?

DSE:地理位置,即纬度和经度在 cassandra 中存储为不同的字段