热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

大数据相关业务

搜索引擎Google三驾马车GFS,MapReduce,Bigtable初衷就是用于搜索领域。1.搜索引擎涉及以下3部分:1).爬虫——数据收集中心,一个互联网世界的缩影2).索引系

搜索引擎

Google三驾马车GFS,MapReduce,Bigtable初衷就是用于搜索领域。

1.搜索引擎涉及以下3部分:

1).爬虫——数据收集中心,一个互联网世界的缩影
2).索引系统——分析整理爬虫收集到的资源,为检索系统提供数据
3).检索系统——从预处理好的资源里挑选出用户最满意的结果最快最好的展现

2.架构图:

这里写图片描述

这里写图片描述

3.基于MapReduce的建库系统(建库流)

• 目的:建立供检索使用的索引和摘要
• 输入:网页
• 输出:索引和摘要
• 处理:多轮map-reduce
• 页面分析和处理(parser-extractor)
• 页面属性小库输出(splitter)
• 小库正排转倒排(invert-index)
• 小库合并大库(index merge)

这里写图片描述

4.快速判重— —布隆过滤器(Bloom Filter)

• 由一个很长的二进制向量和一系列随机映射函数组成
• 布隆过滤器可以用于检索一个元素是否在一个集合中
• 优点是空间效率和查询时间都远远超过一般的算法,缺点是有
一定的误识别率

1). 给定数据(2,4,1,12,9,7,6)如何对它排序?
(1).方法1:基本的排序方法包括冒泡,快排等。
(2).方法2:使用BitMap算法
所谓的BitMap是一个位数组,跟平时使用的数组的唯一差别在于操作的是位。首先是开辟2个字节大小的位数组,长度为12(该长度由上述数据中最大的数字12决定的),然后,读取数据,2存放在位数组中下标为1的地方,值从0改为1,4存放在下标为3的地方,值从0改为1….最后,读取该位数组,得到排好序的数据是:(1,2,4,6,7,9,12)。

(3). 方法2的问题:
• 当数据类似(1,1000,10万)只有3个数据的时候,显然用方法2,
时间复杂度和空间复杂度相当大,但是当数据比较密集时该方法就会显
示出来优势。
• 下一个问题?(对有重复的数据进行判重?)
• 2,4,1,12,2,9,7,6,1,4

2).Bloom Filter
• 需要的是一个位数组(这个和位图有点类似)和k个映射函数(和Hash
表类似)
• 布隆过滤器的误判率和这k个映射函数的设计有关
• 布隆过滤器在很多场合能发挥很好的效果,比如:网页URL的去重,垃
圾邮件的判别,集合重复元素的判别,查询加速

广告系统

这里写图片描述

• 搜索广告点击计费(CPC)
• 展示广告展现计费(CPM)
• 淘宝客(CPS)

1.搜索广告

这里写图片描述

这里写图片描述

1).
(1).搜索广告
• 参与的三方:网民、广告主、搜索平台
(2).广告触发:keyword Targeting
• 广告主和网民通过关键词表达需求
• 网民输入的query和广告主购买的keyword进行匹配
(3).CTR预估:机器学习
• 点击率用于广告的排序和推左
• 保护网民的利益和提升搜索引擎的收益
(4).广告排序:关键词广告拍卖机制
• 每一次的广告展现都是一次动态的拍卖
• 排序函数:ctr*bid

2).
(1).Query Analysis
• 纠错、同义变换、改写
• 切词、提取主题词
• 意图分析
(2).User Server
• COOKIE
• Session

3).
(1).Broad Match Sever
• 实现宽泛匹配
• 宽泛匹配的相关性很重要
(2).Index Server
• 实现精确匹配、短语匹配
• 各种业务过滤功能
• 查找广告倒排索引
(3).Ad Server
• 正排表查找广告物料:创意标题、描述、 URL

4).
(1).CTR Server
• 实现CTR预估功能,输入

2.淘宝广告系统简介

这里写图片描述

推荐系统架构

1.NetFlix推荐架构

这里写图片描述

这里写图片描述

• 界面UI那一块包含3块东西:1) 通过一定方式展示推荐物品(物品标题、
缩略图、简介等);2) 给的推荐理由;3) 数据反馈改进个性化推荐;
• 关于用户数据的存放地方:1)数据库/缓存用来实时取数据;2) hdfs文
件上面;

2.三种推荐方式

这里写图片描述

这里写图片描述

推荐引擎的构建来源于不同的数据源(也就是用户的特征有很多种类,例如统计的、行为的、主题的)+不同的推荐模型算法,推荐引擎的架构可以试多样化的(实时推荐的+离线推荐的),然后融合推荐结果(人工规则+模型结果),融合方式多样的,有线性加权的或者切换式的等

3.HULU推荐架构

这里写图片描述

4.优酷推荐架构

这里写图片描述


推荐阅读
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • 本文介绍了OpenStack的逻辑概念以及其构成简介,包括了软件开源项目、基础设施资源管理平台、三大核心组件等内容。同时还介绍了Horizon(UI模块)等相关信息。 ... [详细]
  • 本文讨论了在VMWARE5.1的虚拟服务器Windows Server 2008R2上安装oracle 10g客户端时出现的问题,并提供了解决方法。错误日志显示了异常访问违例,通过分析日志中的问题帧,找到了解决问题的线索。文章详细介绍了解决方法,帮助读者顺利安装oracle 10g客户端。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 抽空写了一个ICON图标的转换程序
    抽空写了一个ICON图标的转换程序,支持png\jpe\bmp格式到ico的转换。具体的程序就在下面,如果看的人多,过两天再把思路写一下。 ... [详细]
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 单点登录原理及实现方案详解
    本文详细介绍了单点登录的原理及实现方案,其中包括共享Session的方式,以及基于Redis的Session共享方案。同时,还分享了作者在应用环境中所遇到的问题和经验,希望对读者有所帮助。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • Windows7 64位系统安装PLSQL Developer的步骤和注意事项
    本文介绍了在Windows7 64位系统上安装PLSQL Developer的步骤和注意事项。首先下载并安装PLSQL Developer,注意不要安装在默认目录下。然后下载Windows 32位的oracle instant client,并解压到指定路径。最后,按照自己的喜好对解压后的文件进行命名和压缩。 ... [详细]
  • 本文整理了315道Python基础题目及答案,帮助读者检验学习成果。文章介绍了学习Python的途径、Python与其他编程语言的对比、解释型和编译型编程语言的简述、Python解释器的种类和特点、位和字节的关系、以及至少5个PEP8规范。对于想要检验自己学习成果的读者,这些题目将是一个不错的选择。请注意,答案在视频中,本文不提供答案。 ... [详细]
author-avatar
choojo深呼吸
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有