gpt4 book ai didi

apache-spark - 用于实时分析的 Cassandra + Spark

转载 作者:行者123 更新时间:2023-12-04 20:35:28 25 4
gpt4 key购买 nike

我正在开发“大数据(空间数据)实时渲染”的应用程序。
在 Spark Streaming + Spark SQL + WebSocket 的帮助下,我能够在仪表板上呈现预定义的查询。但我想通过交互式查询和临时查询来获取数据。

为此,我试图用“Spark Streaming + Cassandra”来实现它。这些查询需要对大量数据进行聚合和过滤。

我是 Cassandra 和 Spark 的新手,所以我对以下方法感到困惑,这会更好\更快:

  • Spark Streaming -> 过滤 (Spark) -> 保存到 Cassandra -> 交互式查询 -> UI(仪表板)
  • Spark Streaming -> Filtering (Spark) -> Save to Cassandra ->Spark SQL -> Interactive Query -> UI (Dashboard)

  • Cassandra 是否足够快以实时给出结果?或者我应该从 Cassandra 创建一个 RDD 来对其执行交互式查询。

    查询之一是:
    "SELECT *  FROM PERFORMANCE.GEONAMES A  INNER JOIN  
    (SELECT max(GEONAMEID) AS MAPINFO_ID FROM PERFORMANCE.GEONAMES
    where longitude between %LL_LONG% and %UR_LONG%
    and latitude between %LL_LAT% and %UR_LAT%
    and %WHERE_CLAUSE% GROUP BY LEFT(QUADKEY, %QUAD_TREE_LEVEL%) )
    AS B ON A.GEONAMEID = B.MAPINFO_ID"

    任何输入或建议将不胜感激。谢谢,

    感谢 @doanduyhai 建议 SASI 二级索引,它确实产生了巨大的影响。

    最佳答案

    Will Cassandra be fast enough to give result in real time ? Or should i create an RDD from Cassandra to perform interactive queries over it.



    这要看多少 过滤 你正在做的前期工作和集群中的机器数量。如果您的 Cassandra 表有 1Tb 的数据并且您查询在内存中提取 100Gb 的数据,假设有 10 台机器的集群,这意味着在内存中加载 1Gb 是可以管理的,但查询永远不会是亚分钟。

    现在,如果您进行足够的过滤以仅从 Cassandra 表中提取 100Mb 的总数据,则意味着 10Mb/机器并且可能会有几秒的延迟。

    如何在 Cassandra 早期过滤数据?
  • 使用新SASI secondary index (等待本周发布的 Cassandra 3.5,因为已发现 2 个严重错误)
  • 使用 DSE Search使用 Solr 尽早过滤
  • 使用 Stratio Lucene secondary index
  • 关于apache-spark - 用于实时分析的 Cassandra + Spark,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36597022/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com