【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

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

  • 2019-09-29
  • 本文字数:1966 字

    阅读完需:约 6 分钟

深度分析数据科学流水线和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-09-29 14:331366
用户头像

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

关注

评论

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

契约测试实践篇

刘冉

3年CRUD经验的Java程序员,金九银十想要跳槽,面试却遭到屡屡碰壁

爱好编程进阶

Java 程序员 后端开发

模糊测试实践

刘冉

网站开发进阶(六十六)CSS3 - 新单位vmin/vmax与旧单位ex/ch使用详解

No Silver Bullet

Ex 5月月更 vmin vmax ch

Liga译文 | 浅析「产品思维」

LigaAI

产品思维

手把手教你使用 ESLint + Prettier 规范项目代码

CRMEB

如何打造一个爆款H5?

源字节1号

软件开发 H5 小程序开发

2021 最新版 Spring Boot 速记教程

爱好编程进阶

Java 程序员 后端开发

Kubernetes下web服务的性能测试三部曲之二:纵向扩容

程序员欣宸

Java Kubernetes 5月月更 Jemter

IDEA 2020

爱好编程进阶

Java 程序员 后端开发

《Mybatis 手撸专栏》第8章:把反射用到出神入化

小傅哥

小傅哥 mybatis 源码学习 反射代理 技术框架

Java 8 开始新增的 Optional 类

HoneyMoose

ArrayList源码分析-删除

zarmnosaj

5月月更

java培训千万数据提升速度的 SQL 优化方案

@零度

MySQL JAVA开发

大数据培训拉链表优化实践分享

@零度

数据仓库 大数据开发

OpenHarmony源码解析之电话子系统——通话流程

OpenHarmony开发者

OpenHarmony 电话子系统

Java多线程学习

爱好编程进阶

Java 程序员 后端开发

一文看懂——什么是Bonree Server?

博睿数据

Server 博睿数据 IT运维

Java初学者:String类

爱好编程进阶

程序员 后端开发

Web Accessibility 测试实践

刘冉

自动测试 Accessibility

druid源码学习五-AccessController探索

Nick

Druid

听说你想学Python爬虫?我从零教你啊

梦想橡皮擦

5月月更

vivo 万台规模 HDFS 集群升级 HDFS 3.x 实践

vivo互联网技术

大数据 hadoop hdfs

同域下跨应用登录问题

混合应用开发 融合登录 统一登录

Java小白翻身教程-链表结构与编译大法(1)

爱好编程进阶

Java 程序员 后端开发

交付项目中QA的思辨悟

刘冉

敏捷测试

消息队列调研

ZuccRoger

5月月更

C语言_文件操作相关练习题

DS小龙哥

5月月更

浅谈 SAP UI5 框架对一些其他前端框架比如 Vue 的支持

Jerry Wang

JavaScript 前端开发 SAP Fiori 5月月更

易周金融分析 | 银保监会发文规范养老金融;宁波银行拿下消金牌照

易观分析

金融 银行

Java初学01:学习路线

爱好编程进阶

Java 程序员 后端开发

深度分析数据科学流水线和Hadoop生态系统_大数据_Benjamin Bengfort_InfoQ精选文章