随着企业级海量数据爆发,数据处理分析模式的多样化,数据是如何加工、分析、处理的?
数据计算技术百家争鸣,不可一枝独秀
海量数据或者大数据是近十年非常流行的名词,与之相伴的是各种眼花缭乱的框架例如Hadoop、Spark、Hive、Storm、Flink等等,让企业和他们的IT工程师们应接不暇。每一种技术都声称自己的革命性创新,可以大幅度提升性能,颠覆既有框架。但时间证明它们谁也取代不了谁,只是各自适用不同的场景和问题。这背后的根本原因是大数据不仅仅是指数据量大,更重要的是数据处理模式和应用场景的多样性。
举个“栗子”
-
Hadoop Map/Reduce擅长海量数据的统计分析;
-
Spark基于内存的RDD更适用于迭代计算;
-
当处理大量关联的图数据时则不得不采用Pregel的计算模式;
-
在计算的某些阶段,涉及到小数据量的复杂计算,传统MPI更胜一筹;
-
当数据处理完成后,用户可能需要对处理结果进行机器学习,此时Tensorflow/Pytorch则更为合适。
企业如何在成本范围内,应对数据处理的多样性?
不考虑成本的话,可以购买足够的硬件,雇佣足够数量的工程师,应对所有可能的变化。这在事实上不可行。真正可行的是构建一套融合计算系统,充分利用硬件资源,兼容所有框架,且能简化用户编程。这套系统需要在调度层面实现硬件资源共享、异构资源调度和异构数据访问,且提供简单可扩展的编程模型。
首先,需要在技术层面让不同的计算框架动态共享同一套硬件。由于很多数据中心部署了分离的Hadoop集群、MPI高性能计算集群、GPU机器学习训练集群,各个集群承载单类任务,硬件的资源利用率极低。较新的云计算架构使用

面对企业级海量数据的多样化处理需求,各种计算框架如Hadoop、Spark等各有优势,但需融合计算系统应对成本限制。文章探讨了硬件资源共享、异构资源调度和数据异构问题,强调调度系统和执行引擎的协同设计,以及领域编程语言在简化多框架融合计算中的作用。


被折叠的 条评论
为什么被折叠?



