数据集的Spark实时统计分析

时间:2017-05-25 05:50:40

标签: apache-spark static-analysis metrics

使用spark我已经为客户开发了一个仪表板,其中包含14个表的原始数据库>总行数26M。数据涉及物理用户,包裹,产品和网络用户。  你可以把它想象成一家也有实体店的电子商务公司。

要求是:

  • 使仪表板具有多重访问权限
  • 对固定的字段子集执行类似SQL的查询
  • 查询应返回一个包含约20个固定统计分析表的网页
  • 并非所有法律查询都可以在原始数据库结构上完成,例如我们没有用户的性别,但我们可以从其他数据中推断出来
  • 指标应根据其种类计算不同,例如:性别应由实际用户计算,发票月应按每年的发票数计算, 网站访问权限应该只对网络用户进行帐户管理......

我提出的解决方案是合并,重复数据删除,数据透视和重新聚合表格中的所有数据,只存储相关信息,行数减少超过原始数据库的4倍。 / p>

要计算指标,我唯一提出的方法是从DF获取rdd,然后使用聚合函数手动分析(并计算)每个指标每一行。

性能非常差,比如使用8核CPU从简化数据集中获取指标的时间超过一分钟。使用一个用户。

我不是要求代码,而是要求提供文档,示例和知识。我认为我错过了一些东西而且我不知道它是什么。我已经看到很多仪表板几乎立即在更大的数据集上执行查询,我不知道他们是如何做到的(除了计算能力)。

谢谢

0 个答案:

没有答案