apache-spark - Spark可以用于实时交互应用吗?

标签 apache-spark analytics

<分区>

我们有一个系统,其中包含一个计算报告的数据管道,以及一个可以进行临时查询的 UI 层,并在查询后对我们的数据集应用一些特定的计算。我正在考虑将现有的批处理数据处理层迁移到 Spark,但我对 UI 应用层不太确定。

棘手的部分是来自 UI 的请求还需要将某些功能应用于数据集。我还没有找到任何可以从查询结果中应用自定义函数的查询引擎,例如 Elasticsearch。所以我想知道让 UI 层直接触发 Spark 是否是个好主意,假设源数据已经缓存在 Spark session 中。

所以我的问题是:

  • Spark 是实时交互式应用程序的正确解决方案吗?有哪些替代方案?
  • 我想让 UI 应用程序在 Spark 集群之外运行。那么有什么框架可以用于外部服务来触发 Spark 作业吗?或者利用一些现有的 Spark session ?

如有任何建议,我们将不胜感激。

最佳答案

虽然这是一个基于观点的问题,但我想根据我的观察来回答。

Is Spark the right solution for real-time interactive applications? What are the alternatives?

直接从内存中的 spark 表查询是个坏主意。如果有多个并发用户,您可能会遇到请求排队等问题。spark 关闭并且 UI 不可用。.spark 内存表基于 LRU 等从内存中逐出...

存储数据是适合您需要的持久存储。ES、hive、Cassandra、RDBMS 等。 如果在数据存储之上需要 SQL,请检查 PrestoSQL。

I would like to have the UI application runs outside of Spark cluster. So is there any framework that I can use for external service to trigger Spark job? Or leverage some existing Spark session?

我们使用 spark-job-server 将外部 UI 连接到现有的 spark 集群。您可以探索相同的或可能是 apache livy。

关于apache-spark - Spark可以用于实时交互应用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63805101/

相关文章:

scala - NullPointerException:在 foreachPartition/foreach 中创建数据集/数据框

python - 如何查找数组的任何元素是否在 pyspark 的范围内

cordova - Piwik 未在 Phonegap 应用程序中运行

iphone - Flurry 仅记录时间事件,而不记录常规事件

google-analytics - Google Analytics(分析)的问题 - 未安装跟踪,但跟踪,但没有实时

python - Spark .stdev() Python 问题

python - 如何添加数据帧一列的字符串并形成另一列,该列将具有原始列的增量值

scala - 如何设置 Intellij 14 Scala Worksheet 来运行 Spark

php - 分析仪表板策略

javascript - 为什么 piwik 跟踪脚本通常不直接包含在页面中?