技术标签: 作业 大数据 谷歌三篇重要论文读后感
谷歌三篇重要论文读后感(作业)
谷歌三篇重要论文分别讲述了GFS(2003),MapReduce(2004),BigTable(2006),它们对Hadoop的起源有很大的影响(hadoop运行的系统要求是 linux,hadoop 是用
java写的分布式 ,处理大数据的框架。)
GFS全称Google File System其是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。它运行于廉价的普通硬件上,提供容错功能。从根本上说:文件被分割成很多块,使用冗余的方式储存于商用机器集群上,数据块冗余配置策略要达到最大的数据可靠性和可用性,最大的网络带宽利用率。因此,如果仅仅把数据的拷贝置于不同的机器上很难满足这两个要求,必须
在不同的机架上进行数据备份。这样即使整个机架被毁或是掉线,也能确保数据的正常使用。而MapReduce 和 BigTable都是以GFS为基础的,准确来说,只要是涉及大数据的交互,它都有参与的余地。租约机制GFS主要是为了追加而不是改写而设计的,GFS数据追加以记录为单位(租约机制),每个记录的大小为几十KB到MB不等,如果每次记录追加需要请求Master,那么Master就会成为系统的性能瓶颈,因此,GFS系统中通过租约机制将chunk写操作授权给ChunkServer。拥有租约授权的ChunkServer称为主ChunkServer,其他副本所在的ChunkServer为备ChunkServer。
随后的MapReduce论文,论文描述了大数据的分布式计算方式,主要思想是将任务分解然后在多台处理能力较弱的计算节点中同时处理,然后将结果合并从而完成大数据处理。简单说Mapreduce是针对分布式并行计算的一套编程模型,Hadoop MapReduce基于“分而治之”的思想,将计算任务抽象成map和reduce两个计算过程,可以简单理解为“分散运算—归并结果”的过程。而Shuffle过程是MapReduce的核心,Shuffle的正常意思是洗牌或弄乱,它分布在Mapreduce的map阶段和reduce阶段,它会随机地打乱参数list里的元素顺序,它一般把从Map产生输出开始到Reduce取得数据作为输入之前的过程称作shuffle。
而BigTable是建立在 GFS 和 MapReduce 之上的。它的底层的架构是:GFS。每个Table都是一个多维的稀疏图为了管理巨大的Table,把Table根据行分割,这些分割后的数据统称为:Tablets。每个Tablets大概有
100-200 MB,每个机器存储100个左右的
Tablets。BigTable包括三个主要的组件:链接到客户程序的lib、一个Master服务器和多个Tablet服务器,Master服务器负责;为Tablet服务器分配Tablet ;检测新加入或者过期失效的Tablet服务器;;对Tablet服务器进行负载均衡;对保存在GFS上的文件进行垃圾收集 ;处理模式信息的修改(新建表、列族及访问控制信息)。由于GFS是一种分布式的文件系统,采用Tablets的机制后,可以获得很好的负载均衡。比如:可以把经常响应的表移动到其他空闲机器上,然后快速重建。现在Bigtable已经实现了下面的几个目标: 适用性广泛、可扩展、高性能和高可用性。但是Bigtable不支持完整的关系数据模式。且Bigtable将存储的数据都视为字符串。Bigtable为客户提供了简单的数据模型,利用这个模型,客户可以动态控制数据的分布和格式,用户也可以自己推测底层存储数据的位置相关性。另外,可以通过Bigtable的模式参数来控制数据是存放在内存中还是硬盘上。
通过这三篇论文,略有收获,知道在大数据学习的道路上我们还有很长的路要走。
你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。
我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:
撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
查找:Ctrl/Command + F
替换:Ctrl/Command + G
直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC
语法后生成一个完美的目录。
强调文本 强调文本
加粗文本 加粗文本
标记文本
删除文本
引用文本
H2O is是液体。
210 运算结果是 1024.
链接: link.
图片:
带尺寸的图片:
居中的图片:
居中并且带尺寸的图片:
当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。
去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片
.
// An highlighted block
var foo = 'bar';
一个简单的表格是这么创建的:
项目 | Value |
---|---|
电脑 | $1600 |
手机 | $12 |
导管 | $1 |
使用:---------:
居中
使用:----------
居左
使用----------:
居右
第一列 | 第二列 | 第三列 |
---|---|---|
第一列文本居中 | 第二列文本居右 | 第三列文本居左 |
SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:
TYPE | ASCII | HTML |
---|---|---|
Single backticks | 'Isn't this fun?' |
‘Isn’t this fun?’ |
Quotes | "Isn't this fun?" |
“Isn’t this fun?” |
Dashes | -- is en-dash, --- is em-dash |
– is en-dash, — is em-dash |
一个具有注脚的文本。2
Markdown将文本转换为 HTML。
您可以使用渲染LaTeX数学表达式 KaTeX:
Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n−1)!∀n∈N 是通过欧拉积分
Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=∫0∞tz−1e−tdt.
你可以找到更多关于的信息 LaTeX 数学表达式here.
可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:
这将产生一个流程图。:
我们依旧会支持flowchart的流程图:
如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。
如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。
注脚的解释 ︎
首先找一个可用的ntp服务器,这里以阿里的ntp服务器为例:ntp1.aliyun.com。把域名的ip解析出来:因为ntp服务器是udp协议,ip:120.25.115.20 端口号:123,格式是接收48个字节,第一个字节以0xa3(版本4)、0x1b,(版本3)、0x13(版本2)、0x0b(版本1),返回的数据中带有时间。ntp协议的报文格式:...
XML 与 HTML区别什么是XML、HTML? XML:可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。HTML:超文本标记语言,就是指页面内可以包 含图片、链接,甚至音乐、程序等非文字元素。超文本标记语言的结构包括“头”部分(英语:Head)、和“主体”部分(英语:Body), 其中“头”部提供关于网页的信息,“主体”部分提供网页的具体内容...
错误场景介绍做的有一个项目使用JDBC手动创建Connection实现了一个简单的自定义数据库连接池,用来支持Canal解析数据库Binlog指定业务库的插入修改SQL来进行数据库分表备份(按照月份)操作.但是发现当一个一段时间(较长)没有进行数据库操作时,连接都失效了,导致SQL执行失败失效提示为No operations allowed after connection closed查明原因经过搜索发现这个问题是由于Mysql默认一个已创建的长连接28800秒(八小时)内没有任何动作则会断
一.在SwithA和SwithB上配置Smart Link组1.配置SwitchA###Smart Link协议和STP协议互斥,所以要先关闭端口的STP功能。[SwithA]interface gigabitethernet0/0/1[SwithA-GigabitEthernet0/0/1]stp disable[SwithA-GigabitEthernet0/0/1]interface gigabitethernet0/0/2[SwithA-GigabitEthernet0/0/2]s..
链表实现选择排序有两种方法,一种是交换节点内的数据,比较简单。我这里使用的是第二种方法,交换节点。#include<stdio.h>#include<stdlib.h>#include<string.h>#include<math.h>#pragma warning(disable:4996)typedef struct Node {...
(注:不准抄,谁抄谁是居居)1.打开立创商城设计页面;找出需要的原理图和封装(可以先在商城搜索需要地元器件,复制编号就可以直接找到对应的封装);放置在新建的原理图和PCB上并分别导出为对应格式;打开AD新建工程存入原理图和PCB;直接生成库;想要以后方便的话,可以将同类元器件放在一个工程里面然后生成一个类库,删去原来很多的小库就可以很方便地使用了。缺点:如果一...
Effective C++学习笔记1.让自己习惯使用C++条款01:视c++为一个语言联邦条款02:尽量以const,enum,inline来替换#define功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数...
一、bash命令处理的12个步骤;1、将命令行分成由固定元字符集分隔的记号;SPACE, TAB, NEWLINE, ; , (, ),, |,&记号类型包括单词,关键字,I/O重定向符和分号。2、检测每个命令的第一个记号,查看是否
1、cd webjboss/standalone/configuration 进入该目录2、修改两个文件,如下:修改logging.properties 将最后一句中的HH:mm:ss,SSS 替换为 yyyy-MM-dd HH:mm:ss,SSS。 修改standalone.xml,找到下面一段,同上将HH:mm:ss,SSS 替换为 yyyy-MM-dd HH:mm:...
1.为什么不直接使用pycuda.autoinit?import pycuda.autoinit答:自动初始化很多时候不好使,比如多线程等。2.能正常运行,退出时候报错,什么原因?PyCUDA ERROR: The context stack was not empty upon module cleanup.A context was still active when the context stack was beingcleaned up. At this point in our
从DH算法我们可以看到,公钥-私钥组成的密钥对是非常有用的加密方式,因为公钥是可以公开的,而私钥是完全保密的,由此奠定了非对称加密的基础。非对称加密就是加密和解密使用的不是相同的密钥:只有同一个公钥-私钥对才能正常加解密。因此,如果小明要加密一个文件发送给小红,他应该首先向小红索取她的公钥,然后,他用小红的公钥加密,把加密文件发送给小红,此文件只能由小红的私钥解开,因为小红的私钥在她自己手里,所以...
一、Hive自定义函数类型UDF(User-Defined-Function)函数一对一的关系,输入一个值经过函数以后输出一个值在Hive中继承UDF类,方法名称为evaluate,返回值不能为void,其实就是实现一个方法UDAF(User-Defined Aggregation Function) 聚合函数多对一的关系,输入多个值输出一个值,通常与groupBy联合使用UDTF(User-Defined Table-Generating Functions) 函数一对多的关