手机版 欢迎访问人人都是自媒体网站

当前位置:主页 > 体验 >

岂止于大,一文读懂大数据及其在推荐系统的应用

时间:2021-02-03 09:09|来源:网络整理|编辑:采集侠|点击:

本系列文章将从最简单的概念开始,逐步讲解推荐系统的发展历程和最新实践。以产品经理的视角,阐述推荐系统涉及的算法,技术和架构。本章是第三章,将系统性地介绍推荐系统的基石之一:大数据。

 岂止于大,一文读懂大数据及其在推荐系统的应用

大数据是数据智能时代的“铁公基”,是一系列计算和存储的基础设施。推荐系统也是建立在大数据的基础之上的,大量的数据挖掘和模型训练都离不开大数据。

大数据这个名词起的很好,对于非技术人员来说也能get到大的含义:数据量大,算力强大。

但是这强大的能力是怎么来的?大数据生态体系架构是怎么分工的?

不具体做过的同学并不清楚。今天就继续站在产品经理的角度深入浅出地来讲述这些问题。其实不一定是产品经理,对大数据感兴趣的同学都可以看看。本文比较长,如果时间不够,建议先Mark下。

01 大数据的诞生与分布式

在大数据技术诞生之前,数据的存储和处理大半壁江山都是Oracle和MySql和等数据库软件的。这些传统数据库的文件系统是单机的,也就是说,数据只能在一台机器上跑。它们在处理成TB(1024GB)甚至上PB(1024TB)级别数据时就会特别吃力。

第一个解决了这个问题的公司是谷歌。谷歌解决这个问题的思路就是分布式。谷歌分别于2003-2004年发表了三篇重量级的论文,奠定了大数据的基础。

简单的说,谷歌通过论文公布了以下三个工具如何创造:

分布式文件系统:Google File System

分布式并行计算框架:Google MapReduce

分布式数据库:BigTable

这个就是大数据技术的开始。从谷歌的这个原点开始,大数据经过多年发展,形成了今天的全貌。

可以用以下三个分类来去解构整个大数据生态:

分布式存储:把文件切成多份,分布地存储到多台机器上。常用的组件有:HDFS,HBase等。

分布式计算:把数据计算的任务切分成多个,分配到多台机器上计算。常用的组件有:MapReduce,Spark,Storm,Flink等。

分布式工具:数据辅助类工具,资源调度管理工具等。常见的组件有:YARN,Hive,Flume,Sqoop,Elastic Search,ZooKeeper等。

大数据整个生态体系非常庞大,相关的产品不胜枚举,让人看着眼花缭乱,有种物种大爆发的感觉。但是也并非无迹可寻。我们理解大数据生态,从这三个方面去理解就会轻松很多。本文也是严格按照这个方式来讲述。

岂止于大,一文读懂大数据

02 本文讲述需要用的数据表

鉴于大数据生态过于庞大复杂,为了使得文章更加浅显易懂,本文不对技术概念做过多的描述,而是直接到操作层面,以图示的方式讲解。因为要讲述的是数据系统,我这里建一张数据表USER,用这张数据表在各个系统中处理过程来给大家讲述大数据各个组件的工作原理和机制。

岂止于大,一文读懂大数据

03 Hadoop

整个互联网技术生态圈中,谷歌是超级绩优生。每次发表论文,都会引起众多人员前来“抄作业”。Hadoop之父Doug Cutting和他的团队就是其中一个。他花了两年的业余时间,照着谷歌的论文实现了一个分布式数据系统,并用自己儿子的大象毛绒玩具的名字给这个系统命名为Hadoop。Hadoop的Logo也是个头大象。

岂止于大,一文读懂大数据

后来到了2006年,Hadoop被引入Apache基金会,成为一个开源的顶级项目。随着Hadoop的不断发展,在Hadoop项目中,诞生了HBase,Hive,Pig,Zookeeper等子项目,并先后被Apache基金会将其独立升级成为顶级项目。

同时,Apache基金会也不断兼收并蓄其他大数据项目,基本把绝大多数优秀的大数据项目都收入麾下,大有天下武功出少林的味道。大数据各种开源组件中,Apache旗下的才是少林正宗。

闲话不多说,我们来讲Hadoop。

现在的Hadoop主要分三个部分:

分布式存储:HDFS(Hadoop Distributed File System),一个高可靠、高吞吐量的分布式文件系统,实现海量数据存储。

分布式计算:MapReduce,一个分布式离线并行计算计算框架,实现海量计算。

分布式工具:YARN,一个集群资源调度管理的框架,实现硬件资源的调配。

04 图解分布式

这里先具象的解释下,什么是大数据的分布式长什么样?

Copyright © 2018 DEDE97. 织梦97 版权所有 京ICP