3 个节点 cassandra,其中一个节点是 spark master - 用于解决地理空间数据或地理数据
3 nodes cassandra with one being a spark master - to solve geospatial data or geographic data
我在找方向:
我有一个包含纬度和经度数据的 cassandra 数据库。我需要在一个半径或一个点周围的框坐标内搜索数据。我正在使用 golang(gocql) 客户端来查询 Cassandra。
我需要对 Spark 和 Cassandra 有一些了解,因为这接缝就像要走的路。
以下假设是否正确;我有 2 个 Cassandra 节点(2 个副本中的数据)。
- 然后我是否应该安装一个额外的节点并在其上安装 Spark,然后将其连接到其他两个包含数据的现有 Cassandra 节点(使用 DataStax 的 Spark 连接器)。
现有的两个 Cassandra 节点是否需要安装 Spark worker 才能与 Spark Master 节点一起工作?
当Spark设置到位后,您是否查询(Scala)现有数据,然后将数据保存到Spark节点,然后使用gaoling(gocql)客户端查询?
欢迎任何指示
提前致谢
地理空间搜索是一个很深的话题。如果它只是进行您想要的搜索(而不是 batch/analytics),我可以告诉您您可能不想使用 Spark。 Spark 不擅长 'searching' 数据——即使是地理空间数据。主要原因是 Spark 没有为高效搜索索引数据,每次你想进行搜索时,你都必须创建一个 job/context(除非使用作业服务器)。当您考虑面向用户的应用程序时间时,这需要很长时间。
Solr、Elastic Search 和 DataStax Enterprise Search(我为 DataStax 工作的免责声明)都能够对 Cassandra 数据进行方框和半径搜索,并且几乎是实时的。
不过,为了回答您最初的问题,如果您的大部分分析通常来自 Cassandra 数据,那么 运行 Spark 在与 Cassandra 相同的节点上进行数据本地化可能是个好主意。好消息是 Spark 的扩展性非常好,所以如果您发现 Spark 从 Cassandra 占用了太多资源,您可以简单地横向扩展(Cassandra 和 Spark)。
Should I then install an extra node and install Spark on this and then
connect it to the other two existing Cassandra nodes containing the
data(With the Spark Connector from DataStax).
Spark 是一个集群计算引擎,因此它需要一个节点集群才能正常工作。如果您希望它尽可能高效,则需要在所有节点上安装它。
And do the two existing Cassandra nodes need to have Spark workers
installed on them to work with Spark Master node?
我认为他们 'have' 不会拥有它们,但这对当地来说是个好主意。 academy.datastax.com 上有一个非常好的视频,展示了 spark cassandra 连接器如何将数据从 Cassandra 读取到 Spark。我认为它会为您解决很多问题:https://academy.datastax.com/demos/how-spark-cassandra-connector-reads-data
When the Spark setup is in place, do you query(Scala) the existing
data and then save the data onto the Spark node and then query this
with the gaoling(gocql) client?
Spark-Cassandra 连接器可以与 Cassandra 和 Spark 通信。有一些方法,例如 saveToCassandra(),可以将数据写回 Cassandra,您的作业已被处理。然后您可以像往常一样使用您的客户端。
academy.datastax.com 上有一些非常好的免费 Spark + Cassandra 教程。这也是一个很好的起点:http://rustyrazorblade.com/2015/01/introduction-to-spark-cassandra/
我在找方向:
我有一个包含纬度和经度数据的 cassandra 数据库。我需要在一个半径或一个点周围的框坐标内搜索数据。我正在使用 golang(gocql) 客户端来查询 Cassandra。
我需要对 Spark 和 Cassandra 有一些了解,因为这接缝就像要走的路。
以下假设是否正确;我有 2 个 Cassandra 节点(2 个副本中的数据)。
- 然后我是否应该安装一个额外的节点并在其上安装 Spark,然后将其连接到其他两个包含数据的现有 Cassandra 节点(使用 DataStax 的 Spark 连接器)。
现有的两个 Cassandra 节点是否需要安装 Spark worker 才能与 Spark Master 节点一起工作?
当Spark设置到位后,您是否查询(Scala)现有数据,然后将数据保存到Spark节点,然后使用gaoling(gocql)客户端查询?
欢迎任何指示
提前致谢
地理空间搜索是一个很深的话题。如果它只是进行您想要的搜索(而不是 batch/analytics),我可以告诉您您可能不想使用 Spark。 Spark 不擅长 'searching' 数据——即使是地理空间数据。主要原因是 Spark 没有为高效搜索索引数据,每次你想进行搜索时,你都必须创建一个 job/context(除非使用作业服务器)。当您考虑面向用户的应用程序时间时,这需要很长时间。
Solr、Elastic Search 和 DataStax Enterprise Search(我为 DataStax 工作的免责声明)都能够对 Cassandra 数据进行方框和半径搜索,并且几乎是实时的。
不过,为了回答您最初的问题,如果您的大部分分析通常来自 Cassandra 数据,那么 运行 Spark 在与 Cassandra 相同的节点上进行数据本地化可能是个好主意。好消息是 Spark 的扩展性非常好,所以如果您发现 Spark 从 Cassandra 占用了太多资源,您可以简单地横向扩展(Cassandra 和 Spark)。
Should I then install an extra node and install Spark on this and then connect it to the other two existing Cassandra nodes containing the data(With the Spark Connector from DataStax).
Spark 是一个集群计算引擎,因此它需要一个节点集群才能正常工作。如果您希望它尽可能高效,则需要在所有节点上安装它。
And do the two existing Cassandra nodes need to have Spark workers installed on them to work with Spark Master node?
我认为他们 'have' 不会拥有它们,但这对当地来说是个好主意。 academy.datastax.com 上有一个非常好的视频,展示了 spark cassandra 连接器如何将数据从 Cassandra 读取到 Spark。我认为它会为您解决很多问题:https://academy.datastax.com/demos/how-spark-cassandra-connector-reads-data
When the Spark setup is in place, do you query(Scala) the existing data and then save the data onto the Spark node and then query this with the gaoling(gocql) client?
Spark-Cassandra 连接器可以与 Cassandra 和 Spark 通信。有一些方法,例如 saveToCassandra(),可以将数据写回 Cassandra,您的作业已被处理。然后您可以像往常一样使用您的客户端。
academy.datastax.com 上有一些非常好的免费 Spark + Cassandra 教程。这也是一个很好的起点:http://rustyrazorblade.com/2015/01/introduction-to-spark-cassandra/