Fork me on GitHub

大数据介绍

一、大数据的简单架构

   大数据的底层是基于HDFS的分布式文件系统,其上是主要用于存储的Hbase分布式数据库,在上层主要是计算框架,包括MapReduce、Storm以及Spark,其中MapReduce和Storm能完成的离线以及实时计算,Spark都可以完成,在上层就是hive以及webserver这些服务了,hive是SQL引擎,可以将下层复杂SQL进行简易化,webserve就是将这个大数据平台处理后的数据进行输出。

二、大数据的应用

大数据的主要应用有以下几个方面:

  • 搜索引擎
  • 广告系统
  • 推荐系统

(一)搜索引擎

1、获取检索内容   

上面是假如用户输入一段检索内容,那么检索系统会对这段话进行分词,这每一个分的词就作为一个key值,然后去索引库中取取值,但是可能每一个key值对应多个item,比如:

#分词   朋友

朋友     我的好朋友   朋友的酒  朋友圈

所以这里从索引库中取回的值需要做如下处理:

(1)召回阶段

这里通过朋友检索出很多与朋友这个词相关的信息

(2)过滤阶段

比如我只想要朋友与歌曲相关的内容,就会把朋友圈过滤掉

(3)排序

把一些优质的、需要的内容根据一些条件(比如受欢迎程度等)排在前面

(4)截取

进行Top截取前几个

这里是从索引库获取结果的流程,在从索引库中获取内容时采取了倒排索引的方式,通过key来获取item(每一个内容)

2、存入索引库

我们索引库的内容来源是比较多的可以从互联网上直接将数据爬取下来存入索引库中。这里使用的就是正排索引,比如爬取下来的数据是:

#爬取的内容 
朋友的歌

#正排索引

朋友的歌 -->  朋友、的、歌
即: item
--> key1、key2、key3 #倒排索引 朋友 --> 朋友的歌 的 --> 朋友的歌 歌 --> 朋友的歌
即: key1
--> item key2 --> item key3 --> item

然后通过键值对(key,item)的方式将其存入索引库中

(二)个性化推荐系统

 用户查询的物品会根据以下情况进行推荐:

(1)用户-->用户-->物品   

每一个用户都有一个唯一标识userid,根据两个用户拥有的共同兴趣等条件进行推荐

(2)用户-->物品-->物品

根据该用户之前买过的物品进行推荐其他物品

(3)用户-->喜欢的物品特性-->物品

根据该用户喜欢的物品特性进行推荐其它的物品

 

posted @ 2020-03-24 22:46  iveBoy  阅读(201)  评论(0)    收藏  举报
TOP