当前位置: 首页 > news >正文

网站设计与网页制作宠物交易网站模板

网站设计与网页制作,宠物交易网站模板,flash翻页效果网站模板,wordpress怎么编程学习大数据还是绕不开始祖级别的技术hadoop。我们不用了解其太多,只要理解其大体流程,然后用python代码模拟主要流程来熟悉其思想。 还是以单词统计为例,如果使用hadoop流程实现,则如下图。 为什么要搞这么复杂呢? 顾…

学习大数据还是绕不开始祖级别的技术hadoop。我们不用了解其太多,只要理解其大体流程,然后用python代码模拟主要流程来熟悉其思想。
还是以单词统计为例,如果使用hadoop流程实现,则如下图。
在这里插入图片描述

为什么要搞这么复杂呢?
顾名思义,“大数据”意味着庞大的数据量需要计算。提升计算效率的方法无非如下:

  • 更高效的算法
  • 更高频率的处理器
  • 更多的可并行执行的流程
  • 更多的处理器

“更多的可并行执行的流程”意味着不同计算流程之间数据不存在前后依赖,这个也是GPU计算的基础。在这个前提下,我们又有足够多的处理器,则可以提升计算的并行度,大大缩短计算的时间。
沿着这个思路,我们该怎么做呢?

  1. 切分原始数据到符合计算的最小单元。
  2. 组合最小计算单元为可并行处理的数据单元。
  3. 执行并行计算。

以上图所表达的数据为例。
我们有一个一维数组,元素分别是“A C B”,"A E B"和“E C D”。
在这里插入图片描述
我们可以把它分成三个独立的数组
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这三个独立的数组可以再切分,这个切分可以并行执行,因为每组的切分和其他组没有任何关系。
[
[A,C,B]
[A,E,B]
[E,C,D]
]
在这里插入图片描述
作为一种通用的框架,需要协调好内部数据之间传输的格式。MapReduce正如其名,选择了Map结构来存储中间数据。如下图,切分后的字母为Key,Value是1(可以是个随意值)。
在这里插入图片描述
如上图,Map操作包括了Splitting和Mapping,它们将原始数据处理成若干个最小计算单元,且这个单元是内部通用结构map。
Mapping完的结构不适合高效的并行计算,因为数据存在关联关系。比如我们计算A的个数,则需要同时依赖第一组和第二组数据,没办法最大并行优化。
为了增加后续计算的可并行性,Reduce操作将这些最小计算单元归类(Shuffling&Sorting )。这个归类的过程的输入是一个个map,输出还是map。再次呼应了MapReduce的名字。
在这里插入图片描述
现在每组数据可以被独立分配到一个处理器上去计算了,因为它不依赖任何其他数据。比如计算A的个数,我们只要让一个处理器关注第一条数据,其他条数据根本不用关心。
最后的Reducing再将上述数据并行计算,它的输入和输出还是map,再次呼应MapReduce的名称。
在这里插入图片描述

基于上面的拆解,我们使用python实现逻辑如下。需要注意的是,在流程中,我们传递的都是dict结构(map,即key value对)。

input = ["A C B","A E B","E C D",
]def split_map_shuffle_reduce(input):# splittingwordsSplitMap = {}for (i, line) in zip(range(len(input)), input):wordsSplitMap[i] = line.split()# {0: ['A', 'C', 'B'], 1: ['A', 'E', 'B'], 2: ['E', 'C', 'D']}# mappingwords = {}for (i, wordsOneline) in zip(range(len(wordsSplitMap.values())), wordsSplitMap.values()):words[i] = map(lambda word: (word,1), wordsOneline)# {0: {'A': 1,'C': 1, 'B': 1}, 1: {'A': 1,'E': 1, 'B': 1}, 2: {'E': 1,'C': 1, 'D': 1}}# shufflingshuffle_sort_words = {}for wordmap in words.values():for word in wordmap:shuffle_sort_words.setdefault(word[0], []).append(word[1])# {'A': [1, 1], 'C': [1, 1], 'B': [1, 1], 'E': [1, 1], 'D': [1]}# reducingwordCount = {}for word, count in shuffle_sort_words.items():wordCount.update({word: sum(count)})# {'A': 2, 'C': 2, 'B': 2, 'E': 2, 'D': 1}return wordCountoutput = split_map_shuffle_reduce(input)
print(output)

{‘A’: 2, ‘C’: 2, ‘B’: 2, ‘E’: 2, ‘D’: 1}

参考资料

  • https://www.whizlabs.com/blog/understanding-mapreduce-in-hadoop-know-how-to-get-started/
  • https://www.tutorialspoint.com/map_reduce/map_reduce_introduction.htm
http://www.yayakq.cn/news/851140/

相关文章:

  • 重庆市建设项目环境申报表网站可以做别人的网站上挂一个网页吗
  • 海口网站制作软件网站开发与管理
  • 哪个网站是专做宝宝饭的南京网页设计培训班
  • 百度生成在线网站地图免费的虚拟电脑app
  • 河南省教育类网站前置审批炒股配资网站建设
  • 济南做网站云建站推荐
  • 基因数据库网站开发价格阿里云 wordpress 慢
  • 小程序制作流程企业seo网站营销推广
  • 如何能让网站尽快备案通过网站开发图片
  • 苏州外贸公司网站建设流程个人可以做外贸的网站
  • 南通网站建设要多少钱做室内概念图的网站
  • 章丘做网站的公司免费网站流量统计
  • 数据网站建设成本从哪里找网络推广公司
  • 2003 iis网站发布wordpress网页图标
  • 用ip地址做网站校园二手市场网站建设
  • 金华建站软件佛山购物网站建设
  • 烟台专业做网站公司有哪些绿色农产品网站 模板
  • 兼职网站建设 开源投资公司怎么赚钱
  • 河南省住房和城乡建设厅官方网站南阳网站设计
  • 网站首页做301福建百川建设有限公司网站
  • 公司门户网站建设特点WordPress样式表修改字体大小
  • wordpress文章图片排名轻松seo 网站
  • 嘉定做网站研究网站开发意义
  • 做家装施工的网站网站转移空间以后ip会变化吗
  • 查询网站服务器类型wordpress图像
  • 合肥做微网站建设厦门关键词排名seo
  • 山西电力建设一公司网站大丰网站建设找哪家好
  • 企业网站不备案会怎么样建筑方案设计说明
  • 安徽住房和建设厅网站ftp怎么设置网站首页
  • 织梦做电子商务网站wordpress无插件美化