写点什么

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

2019 年 9 月 29 日

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

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



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


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


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


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


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


大数据工作流


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



图 1-2:大数据流水线


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


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


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


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


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


总结


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


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


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


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


2019 年 9 月 29 日 14:33958
用户头像

发布了 33 篇内容, 共 84935 次阅读, 收获喜欢 7 次。

关注

评论

发布
暂无评论
发现更多内容

接口测试--获取动态参数进阶

测试人生路

接口测试

智慧社区解决方案,智慧社区管理系统

135深圳3055源中瑞8032

CSS03 - 常用字体样式

桃夭十一里

html/css

区块链技术如何真实有效的赋能智慧交通?

CECBC区块链专委会

区块链

腾讯大佬直言:只要掌握了这份“Redis实战笔记”就掌握了云计算的未来!

比伯

Java 编程 架构 面试 程序人生

LeetCode题解:104. 二叉树的最大深度,BFS,JavaScript,详细注释

Lee Chen

算法 LeetCode 前端进阶训练营

使用Github Actions部署静态网站

玉龙BB

GitHub Pages Hugo Github Actions

在NGINX中根据用户真实IP限制访问

东风微鸣

简述CAP原理

andy

有奖话题 | 2021 新年Flag,牛转乾坤!

InfoQ写作平台官方

话题讨论 活动专区

量化机器人管理系统开发|市值管理机器人模式系统开发

W13902449729

市值管理机器人开发 市值管理系统开发

更新完IOS14,网络工程师又开始背锅了

网络技术平台

区块链食品溯源,食品安全溯源链搭建

135深圳3055源中瑞8032

Spring 事务,你真的用对了吗(下篇)?

双儿么么哒

Java Spring Framework

同城快递系统设计文档

业哥

别无分号只此一家,Python3接入支付宝身份认证接口( alipay.user.certify)体系(2021年最新攻略)

刘悦的技术博客

Python 支付宝 身份认证 刷脸 实名认证

1499飞天茅台脚本使用过程中遇到的Python问题汇总索引目录【淘宝-天猫超市、京东】

谙忆

飞天茅台 茅台

CSS04 - 常用外观属性

桃夭十一里

html/css

Kubernetes 疑难问题排查 - 10s 延迟

东风微鸣

Kubernetes

RocketMQ如何保证消息顺序性

双儿么么哒

RocketMQ

Ansible 新手指南 - 如何批量管理 NGINX

东风微鸣

ansible

有奖讨论|构建基于容器技术,承载数据类有状态工作负载的数据云平台,技术挑战有哪些?

花斯基

话题讨论 活动专区

区块链:能源行业出现破坏性创新的基础?

CECBC区块链专委会

区块链 能源

区块链推动电力能源管理新一轮技术变革

CECBC区块链专委会

区块链

面向行业智能,华为数据通信推动的2020之变

脑极体

CSS01 - 引入方式

桃夭十一里

html/css

CSS02 - 选择器

桃夭十一里

html/css

性能测试思考分析

andy

全球台式机CPU市场份额AMD超越Intel?别再混淆视听,误导消费者了!

intel001

MySQL蜜罐获取攻击者微信ID

Java架构师迁哥

一文教你学会Hive视图和索引

大数据老哥

大数据 hadoop hive

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