我们的DMP系统有这样的需求:
1.受众导出:基于标签的受众每天需要将新的人口统计结果导出到Redis或文件,再导出到DSP。因为标签数据每天都会刷新,所以我们有6亿用户,当我们有成千上万的人时,我们应该选择哪种技术堆栈来快速计算和导出?
2.事件分析:我们还需要基于实时事件来创建受众群体,我们需要向受众群体中添加合格的人员。与此同时,随着时间的流逝,需要将不符合要求的人员移除。
有一个合适的技术堆栈建议可以满足一个或两个。

谢谢。

最佳答案

我们与DMP的受众数据进行了广泛的合作,并且通常管理许多PB的数据和数百个受众。

由于以下原因,我建议使用Apache Spark进行处理:

  • 编程模型的灵活性。
  • DMP工作流程中批处理的普遍性。
  • 常规观众大小的高性能(它们适合RAM)。
  • 最广泛的集成集,包括与ML功能的集成,这些集成对于DMP变得越来越重要。

  • 存储是一个更复杂的问题:
  • 对象存储(S3)是最简单但性能最好的存储。
  • 在许多情况下,HDFS风格的存储速度更快,但成本更高。
  • 设置受众群体后,根据受众群体更新的性能需求,您还可以考虑使用键值存储,例如Cassandra。

  • 希望这可以帮助。

    关于apache-spark - DMP系统的技术堆栈选择,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58915384/

    10-12 17:31