如何将纬度和经度存储到Cassandra表中以及如何在5公里范围内查询数据
答案 0 :(得分:3)
你的问题非常广泛和模糊,所以我会给出一个非常广泛的答案。
您可以将每个纬度和经度作为一行存储在Cassandra表中,如下所示:
CREATE TABLE locations (location text PRIMARY KEY, latitude float, longitude float);
然后,要找到指定纬度和经度半径5公里范围内的所有位置(让我们称之为位置X),您需要使用您要创建的客户端应用程序检查表中的每一行。
在纯Cassandra中,您将从表中SELECT *获取所有行(如果有很多行则使用分页),并且在客户端应用程序中,对于每一行,检查X和行之间的距离是否为小于5公里,输出匹配的行。
或者你可以将Cassandra与Apache spark配对并同时进行相同的计算。
但是你可以采取很多不同的方法,所以这只是一种方式。