深度分析数据科学流水线和 Hadoop 生态系统

阅读数:784 2019 年 9 月 29 日 14:33

深度分析数据科学流水线和Hadoop生态系统

数据科学流水线是一种教学模型,用于教授对数据进行全面统计分析所需的工作流,如图 1-1 所示。在每个环节中,分析人员要转换初始数据集,然后从各种数据源增强或采集数据,再通过描述性或推断性的统计方法将数据整理为可以计算的正常形式,最后通过可视化或报告的形式生成结果。这些分析过程通常用于回答特定问题,或用于调查数据与某些业务实践间的关系,以进行验证或决策。

深度分析数据科学流水线和Hadoop生态系统

图 1-1:数据科学流水线

这个原始的工作流模型引领了大多数早期的数据科学思想。最初关于数据科学应用程序的讨论围绕着如何创建有意义的信息可视化——这也许令人意外,主要是因为这个工作流旨在生成帮助人们进行决策的依据。通过对大型数据集的聚合、描述和建模,人们能够更好地根据模式(而不是单个数据点)作出判断。数据可视化是新生的数据产品,它们从数据中产生价值,帮助人们基于学习到的内容采取行动,然后再从这些行动中生成新数据。

然而,面对呈指数增长的数据量和数据增长速度,这种以人力驱动的模型并不是一个可扩展的解决方案,这也正是许多企业都为之抓狂的原因。根据预测,到 2020 年,我们每年生成和复制的数据将达到 44ZB,即 44 万亿 GB 。即使实际规模只达到预测规模的一小部分,手动的数据准备和挖掘方法也根本无法及时提供有意义的信息。

除了规模上的局限,这种以人为中心的单向工作流也不能有效地设计能够学习的自适应系统。机器学习算法已经广泛应用于学术界之外,非常符合数据产品的定义。因为模型会拟合现有的数据集,所以这些类型的算法可以从数据中获取价值,然后通过对新的观察值作出预测来产生新的数据。

如果要创建一个框架,支持构建可扩展和可自动化的解决方案,从而能解释数据和生成有用的信息,就必须修改数据科学流水线,使其包含机器学习方法的反馈循环。

大数据工作流

考虑到可扩展性和自动化的目标,我们可以将人力驱动的数据科学流水线重构为包括采集、分段、计算和工作流管理这 4 个主要阶段的迭代模型(如图 1-2 所示)。与数据科学流水线一样,这种模型其实就是采集原始数据并将其转换为有用的信息。关键的区别在于,数据产品流水线是在操作化和自动化工作流的步骤中构建起来的。通过将采集、分段和计算这 3 个步骤转换为自动化工作流,最终产生可重用的数据产品。工作流管理步骤还引入了反馈流机制,来自其中一个作业执行的输出可以自动作为下一次迭代的数据输入,因此为机器学习应用程序提供了必要的自适应框架。

深度分析数据科学流水线和Hadoop生态系统

图 1-2:大数据流水线

采集阶段既是模型的初始化阶段,也是用户和模型之间的应用交互阶段。在初始化期间,用户指定数据源的位置或标注数据(另一种数据采集形式);在交互期间,用户消费模型的预测结果并提供用于巩固模型的反馈。

分段阶段是转换数据的阶段,使其变为可消费的形式并存储起来,从而能够用于处理。本阶段还负责数据的归一化和标准化,以及一些计算数据存储中的数据管理工作。

计算阶段是真正“干活”的阶段,主要负责挖掘数据以获取有用的信息,执行聚合或报告,构建用于推荐、聚类或分类的机器学习模型。

工作流管理阶段执行抽象、编排和自动化任务,使工作流的各步骤可用于生产环境。此步骤应能产生自动按需运行的应用程序、作业或脚本。

Hadoop 已经演变成了包含各种工具的生态系统,可以实现上述流水线的部分环节。例如,Sqoop 和 Kafka 可用于数据采集,支持将关系数据库导入 Hadoop 或分布式消息队列,以进行按需处理。在 Hadoop 中,像 Hive 和 HBase 之类的数据仓库提供了大规模的数据管理机会;Spark 的 GraphX、MLlib 或 Mahout 库提供了分析包,供大规模计算和验证使用。在本书中,我们将探索 Hadoop 生态系统的许多组件,并了解它们如何融入整个大数据流水线。

总结

在过去十年间,关于“什么是数据科学”的讨论发生了巨大变化——从纯分析到与可视化相关的方法,再到如今数据产品的创建。数据产品是使用数据训练、自适应且广泛适用的经济引擎,从数据中获取价值并产生新的数据。数据产品引发了一次信息经济革命,改变了小企业、技术创业公司、大型组织甚至政府机构看待其数据的方式。

本文描述了数据科学流水线原始教学模型的一个改良版本,并提出了数据产品流水线。数据产品流水线是迭代的,包括两个阶段:构建阶段和运行阶段(包括 4 个阶段:交互、数据、存储和计算)。这种架构可以有条不紊地执行大规模的数据分析,保留了实验、人与数据产品间的交互。而且当围绕数据产品构建的应用程序很大时,它还能支持部分环节的自动化。希望这个流水线可以帮你了解数据产品生命周期的大体框架,也能成为探索更多创新项目的基石。

因为本书是从数据科学家的角度探讨分布式计算和 Hadoop,所以我们认为,Hadoop 的作用是从大量不同来源采集多种形式的数据(其中包含大量实例、事件和类),并将其转换为有价值的事物——数据产品。

本文内容来自作者图书作品《Hadoop 数据分析》,点击购买

评论

发布