大规模的数据计算对于数据挖掘领域当中的作用。两大主要挑战:第一、如何实现分布式的计算 第二、分布式并行编程。Hadoop平台以及Map-reduce的编程方式解决了上面的几个问题。这是谷歌的一个最基本的计算模式,并且对于大规模数据的分析和处理是一种非常有效的方法。以下四个方面了解大数据处理平台Hadoop。

谷歌的解决方案

第一、我们需要计算节点去组成集群。这些点组成集群之后我们是通过网络将这些点连接到一起,从而完成计算和数据的分发。

在这样一种集群式的架构当中,我们是通过switch(交换机)将它们连接到一起。1Gbps,这里的网速要求是非常高的。通过高速的网络将计算机连接在一起完成数据的分发和任务的分配。

多个计算机连接到一起需要多个交换机实现互联。在主干网上对网速的要求会达到更高(网速达到2-10Gbps),也就是说当CPU完成高速运算之后我们要把结果及时和其他的CPU或者是计算机来进行交互。这必然需要高速的网络来帮助我们完成。2011年,我们估计谷歌已经有100万台以上的计算节点来完成大规模的数据分析。

大规模的计算当中,我们需要把数据分发出去,把任务分发出去,最终再把最终的结果和数据收集起来完成我们的计算。

所以在大规模的数据计算当中,我们需要有一定的硬件条件,这样的硬件条件保证了我们能够完成分布式的计算,保证了计算在出现问题或者是机器在出现问题的时候能够快速的恢复。

理想的解决方案是什么?

要把数据在网络当中进行传播。在传播数据的时候虽然是借助了高速的网络仍然会花一定的时间。解决方案当中就是要把数据和计算任务进行一个local,也就是说局部化的处理。将这台计算机要完成的任务和它所需要的数据放到一起,从而达到快速计算的目的。谷歌提出的Map-reduce这样一种编程模式,解决了上面的问题,能够很好地进行大规模的数据分析。在这样一个大规模的数据分析当中,除了有编程模式Map-Reduce,我们还需要一个文件系统来存储我们的数据,帮助我们的编程模式完成计算。

Hadoop这样一个开源的平台集成了这样一些元素来实现我们的运算。Hadoop的运行是使用的Map-reduce这样一种编程的思想,其次Map-reduce允许大规模的数据分析在不同的计算的集群当中,去传递数据和分发任务。所以这样地完成了我们分布式的处理。

Hadoop的Common主要是一些Java的库,

Hadoop这样一个开源平台是以java语言为主的。

Hadoop的YARN这样一个调度平台,所谓的调度是进行资源的分配和数据分发。

在调度上面需要建立Hadoop的分布式文件系统,简称:HDFS

当所有这些元器件被组之后我们能够在上面完成分布式的编程。

分布式文件系统的工作主要由一些块数据的服务器来组成,每一个大的文件被分解成若干个块儿,而一般来说我们会把这些块分成16到64MB。每一个数据块必须要被重复也就是做备份。被重复多少个呢?一般是2个到3个来进行备份。这个备份不是在一台计算机上去做多个数据的备份,是要在不同的计算机节点上面去备份这样一个数据。

在分布式文件系统当中,有一个Master节点,或者是Hadoop当中我们把它叫做Name Node,它能够存储文件的一些信息,从而知道文件存在哪里,有几个备份。这个Master节点就起到一个中央控制的作用。我们还有一些客户端的节点,客户端的节点就通过和master节点呢进行数据交互完成数据的存储和分发以及任务的传送。

我们分布式文件系统的思想:数据做多个备份,但是备份到不同的电脑上面。

Hadoop由1.0到2.0,多了YARN这样一个调度平台。除了Map-reduce编程模式之外,还可以接入其他的数据分析的编程框架。

整个Hadoop的生态系统

在一些大规模数据分析的平台上去进行实战和实例的演示的话,可以选择开源平台Hadoop。也有不开源项目:谷歌内部平台以及Asta Data这样一个集群的、结构化的查询语言的数据库。同样Asta Data也实行了Map-reduce的编程。

同时和大数据平台比较相似的或者是相辅相成的还有我们云计算的平台。在云计算的平台当中,大家可以利用这些云计算的平台按照什么来租用呢?按照小时可以租用这些计算资源来完成大规模数据分析的处理。你只要把数据交给云平台,云平台按小时计费帮助你们完成数据分析。你不用去搭建、管理、维护平台,这是云计算的一些概念。

互联网大规模数据分析技术(自主模式)第五章 大数据平台与技术 第10讲 大数据处理平台Hadoop的更多相关文章

  1. 大数据征信的应用和启示:ZestFinance的基于大数据的信用评估技术

    http://www.d1net.com/bigdata/news/325426.html 2014年11月,本文作者有机会和ZestFinance的创始人和首席执行官梅里尔(Douglas C.Me ...

  2. < 利用Python进行数据分析 - 第2版 > 第五章 pandas入门 读书笔记

    <利用Python进行数据分析·第2版>第五章 pandas入门--基础对象.操作.规则 python引用.浅拷贝.深拷贝 / 视图.副本 视图=引用 副本=浅拷贝/深拷贝 浅拷贝/深拷贝 ...

  3. 民生银行十五年的数据体系建设,深入解读阿拉丁大数据生态圈、人人BI 是如何养成的?【转】

    早在今年的上半年我应邀参加了由 Smartbi 主办的一个小型数据分析交流活动,在活动现场第一次了解到了民生银行的阿拉丁项目.由于时间关系,嘉宾现场分享的内容非常有限.凭着多年对行业研究和对解决方案的 ...

  4. 大数据时代的技术hive:hive介绍

    我最近研究了hive的相关技术,有点心得,这里和大家分享下. 首先我们要知道hive到底是做什么的.下面这几段文字很好的描述了hive的特性: 1.hive是基于Hadoop的一个数据仓库工具,可以将 ...

  5. 大数据时代的技术hive:hive的数据类型和数据模型

    在上篇文章里,我列举了一个简单的hive操作实例,创建了一张表test,并且向这张表加载了数据,这些操作和关系数据库操作类似,我们常把hive和关系数据库进行比较,也正是因为hive很多知识点和关系数 ...

  6. 大数据项目相关技术栈(Hadoop周边技术)

    J2EE 框架Spring 开发框架 + SSH or SSM Lucene 索引和查询IKAnalyzer 分词Webmagic 爬虫 ETL工具:KettleSqoop 结构化数据库-hadoop ...

  7. hadoop大数据基础框架技术详解

    一.什么是大数据 进入本世纪以来,尤其是2010年之后,随着互联网特别是移动互联网的发展,数据的增长呈爆炸趋势,已经很难估计全世界的电子设备中存储的数据到底有多少,描述数据系统的数据量的计量单位从MB ...

  8. 云计算和大数据时代网络技术揭秘(十三)VXLAN

    Vxlan(virtual Extensible LAN)虚拟可扩展局域网,是一种Overlay方式的网络技术,采用了mac in UDP的方式 进行封装,共50字节的报头.该技术的目标是解决虚拟机在 ...

  9. 【MySQL】MySQL中针对大数据量常用技术_创建索引+缓存配置+分库分表+子查询优化(转载)

    原文地址:http://blog.csdn.net/zwan0518/article/details/11972853 目录(?)[-] 一查询优化 1创建索引 2缓存的配置 3slow_query_ ...

随机推荐

  1. Sprint第一个冲刺(第十天)

    一.Sprint介绍 更新工程部署文件:实现了云端登录:设计经营情况以及数据分析界面. 实验截图: 任务进度: 二.Sprint周期 看板: 燃尽图:

  2. ballerina 学习四 如何进行项目结构规划

    备注: *   ballerina 程序员可以将代码放到一个文件或者一个项目目录 *   一个ballerina program是一个已经编译以及链接的二进制文件 *   package是一个包含ba ...

  3. 通过openresty && tengine && nginx 动态添加资源到 html 页面

    1. 目标 不用修改后端代码,但是还需要进行js .css 等资源文件的加载 主要的场景是进行统计分析 2.技术实现 通过服务器扩展进行动态添加 iis 可以添加模块,nginx 可以使用  sub_ ...

  4. caddy server 默认https && http2的验证

    1. 下载     https://caddyserver.com/   注意选择应该包含的模块,此次包含了git 插件   2. 配置    使用 Caddyfile    内容如下:     ro ...

  5. cocostudio ui编辑器 使用心得

    1 c++包含路径 2九宫格设置 cocostudio ui编辑器设置九宫格x,y,w,h是从图片左上角开始测量,然后调整尺寸就行了. 2.  如果点了自适应  panel会在加载json的时候被设置 ...

  6. 笔记本启动时提示错误:amd_xata.sys数字签名无法验证

    开机失败,提示adm文件无法验证 文件:Windows\system32\drivers\amd_xata.sys 状态:0xc0000428 信息:Windows 无法验证此文件的数字签名   工具 ...

  7. 使用FILE指针读写文件

    http://www.cnblogs.com/Solstice/archive/2011/07/17/2108715.html 看了这篇博客有感而发. 就个人而言我是典型的从C到C++的类型,并且逐渐 ...

  8. (转)win7+iis7.5+asp.net下 CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files 解决方案

    本文转载自:http://www.cnblogs.com/finesite/archive/2011/01/28/1946940.html 网上搜的解决方案但在我的环境下仍旧没有解决,我的方法如下: ...

  9. Java中的<< 和 >> 和 >>> 详细分析

    <<表示左移移,不分正负数,低位补0: 注:以下数据类型默认为byte-8位 左移时不管正负,低位补0 正数:r = 20 << 2 20的二进制补码:0001 0100 向左 ...

  10. Java-Runoob-高级课程:Java 集合框架

    ylbtech-Java-Runoob-高级课程:Java 集合框架 1.返回顶部 1. Java 集合框架 早在 Java 2 中之前,Java 就提供了特设类.比如:Dictionary, Vec ...