报名参加CloudWeGo黑客松,奖金直推双丰收! 了解详情
写点什么

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

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

关注

评论

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

程序员的修行之路-关于编程语言

牧马人

程序员

ARTS第一周

困到清醒

ARTS 打卡计划 起跑

爬虫框架Scrapy应用实践-淘宝保险频道数据抓取【1】-前期准备

hadesxiong

Python 爬虫 保险 Scrapy

后台定时统计任务太耗时如何优化一下

zhuoqianmingyue

线程池

是什么在背后支撑起“带货一哥”李佳琦?

博睿数据

负载均衡 APM 压测 秒杀 并发

使用Spring Boot和Docker构建微服务架构(四)

Tux Hu

Docker 架构 容器 微服务 Spring Boot

2020年3月云主机性能评测报告

博睿数据

云计算 运维 机房 数据中心 主机

程序员的修行之路-保持良好的心态

牧马人

程序员

数据产品经理实战-DMP搭建

第519区

产品经理 营销

Jsp页面报错后如何找到提示信息中的_jsp.java文件

阡陌r

linux 账户及安全管理(一 账户管理)

牧马人

Linux

产品周刊 | 第 16 期(20200524)

八味阁

产品 设计 产品经理 产品设计

快速入门 Nacos 作为配置中心操作

zhuoqianmingyue

nacos SpringBoot 2

玩转SpringBoot2.x之缓存对象

zhuoqianmingyue

redis springboot

使用Spring Boot和Docker构建微服务架构(二)

Tux Hu

Docker 架构 容器 微服务 Spring Boot

使用Spring Boot和Docker构建微服务架构(三)

Tux Hu

Docker 架构 容器 微服务 Spring Boot

Java | @Override 不要再把它当成可有可无的了

YoungZY

Java 注解 Override annotation

2020年3月北京BGP机房网络质量评测报告

博睿数据

运维 APM 机房 数据中心 拨测

代码刚提交暂存区,组长突然要我把新增代码 Commit另一分支怎么办?

zhuoqianmingyue

git

zookeeper到nacos的迁移实践

捉虫大师

架构 nacos

使用Spring Boot和Docker构建微服务架构(一)

Tux Hu

Docker 架构 容器 微服务 Spring Boot

游戏夜读 | 世界两大游戏评论!

game1night

足不出户“逛”银行,37家城商行、农商行手机银行App性能大比拼

博睿数据

APM App 评测 网银 银行

卡巴斯基产品本地化用时能缩短 77%,怎么做到的?

葛仲君

项目管理 软件开发 本地化 开发流程

程序员的修行之路-关于编程语言

牧马人

程序员

短视频时代下的知识摄取

Neco.W

学习 知识管理 知识体系 短视频

企业微信机器人在大型财务共享中心的应用实践

DT极客

微信gif图片大小的规则

石云升

微信 GIF

Spring Cloud 和 Dubbo 哪个会被淘汰?

程序猿DD

Spring Cloud dubbo

微软:正式发布针对 .NET Core的 Winform 设计器

葡萄城技术团队

.net 微软 Win .net core

配置国内的pip源以提高使用pip安装python软件包的速度

良少

Python pip

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