Lecture2-大数据平台

1. Hadoop

1.1. Hadoop计算过程

1.2. Hadoop发展简史

  1. Hadoop起源于Apache Nutch,后者是一个开源的网络搜索擎,本身也是由Lucene项目的一部分。
  2. Nutch项目开始于2002年,一个可工作的抓取工具和搜索系统很快浮出水面。
  3. 2004年,Google发表了论文,向全世界介绍了MapReduce。
  4. 2005年初,Nutch的开发者在Nutch上有了一个可工作的MapReduce应用,到当年年中,所有主要的Nutch算法被移植到使用MapReduce和NDFS来运行。Nutch中的NDFS和MapReduce实现的应用远不只是搜索领域。
  5. 在2006年2月,他们从Nutch转移出来成为一个独立的Lucene子项目,成为Hadoop。
  6. 在2008年2月,雅虎宣布其搜索引擎产品部署在一个拥有1万个内核的Hadoop集群上。
  7. 2008年4月,Hadoop打破世界纪录,成为最快排序1TB数据的系统。运行在一个910节点的群集,Hadoop在209秒内排序了1TB的数据(还不到三分半钟),击败了前一年的297秒冠军。同年11月,谷歌在报告中生成,它的MapReduce实现执行1TB数据的排序只用了68秒。在2009年5月,有报道宣称Yahoo的团队使用Hadoop对1TB的数据进行排序只花了62秒时间。

1.3. Hadoop的作用与功能

  1. Hadoop采用了分布式存储方式,提高了读写速度,并扩大了存储容量。采用MapReduce来整合分布式文件系统上的数据,可保证分析和处理数据的高效。与此同时,Hadoop还采用存储冗余数据的方式保证了数据的安全性。
  2. Hadoop中HDFS的高容错特性,以及它是基于Java语言开发的,这使得Hadoop可以部署在低廉的计算机集群中,同时不限于某个操作系统。Hadoop中HDFS的数据管理能力,MapReduce处理任务时的高效率,以及它的开源特性,使其在同类的分布式系统中大放异彩,并在众多行业和科研领域中被广泛采用。

1.4. MapReduce和传统关系型数据库的比较

1.5. Hadoop结论

二者互相融合是一种趋势

传统RDBMS MapReduce
效率 低(通过排序和合并来重建数据库) 高(更新大部分数据库数据的效率高于B树的更新)
数据集特点 持续更新 数据被一次写入,多次读取
数据格式 结构化数据 非结构化或半结构化数据(避免规范化带来的非本地读问题)
应用领域 点查询、更新 批处理

1.6. Hadoop的优点

Hadoop 是一个能够对大量数据进行分布式处理的软件框架,并且是以一种可靠、高效、可伸缩的方式进行处理的,具有以下优点:

  1. Hadoop是可靠的:因为它假设计算元素和存储会失败,因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理。
  2. Hadoop是高效的:因为它以并行的方式工作,通过并行处理加快处理速度。
  3. Hadoop是可伸缩的:能够处理PB级数据。
  4. Hadoop成本低:依赖于廉价服务器:因此它的成本比较低,任何人都可以使用。
  5. 运行在Linux平台上:Hadoop带有用Java语言编写的框架,因此运行在Linux生产平台上是非常理想的。
  6. 支持多种编程语言:Hadoop上的应用程序也可以使用其他语言编写,比如C++。

1.7. Hadoop的生态圈

组件 描述
ZooKeeper 调度管理组件
Oozie 堆栈
Pig 对MapReduce进行抽象,可以理解为接口,被其他生态成员调用
Hive 类型于SQL的高级语言,直接在Hadoop上进行查询
Sqoop 迁移工具,主要进行迁移,数据集成
Flume Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。
Mahout 提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序

1.8. Hadoop体系结构

1.9. Hadoop开发流程

1.10. Hadoop与分布式开发

  1. MapReduce计算模型非常适合在大量计算机组成的大规模集群上并行运行。每一个map任务和每一个reduce任务均可以同时运行于一个单独的计算节点上,可想而知,其运算效率是很高的。
  2. 并行计算过程:
    1. 数据分布存储
    2. 分布式并行计算
    3. 本地计算:是一种减少带宽消耗的方法
    4. 任务粒度:粒度下降,大的数据切分成小的数据,一个单位的数据尽量小于一个Block的大小,在一个节点上。
    5. 数据分割(Partition)
    6. 数据合并(Combine):可以理解成为是和Reducer一致的东西
    7. Reduce
    8. 任务管道

2. GFS与HDFS

  1. GFS:谷歌第一架马车
  2. name node在Hadoop 1.0中进程崩溃会导致系统整个崩溃

2.1. HDFS上的数据存储操作

  1. 适合大量的大文件
  2. 平均单个文件超过500M
  3. 一次写入,多次读出
  4. 单个文件的内容不能被修改,除非在文件
  5. 末尾添加新的数据
  6. 可以做什么?
    1. 创建新文件
    2. 向文件末尾增加内容
    3. 删除一个文件
    4. 修改文件名
    5. 修改文件属性(如:拥有者)

2.2. HDFS架构

  1. 使用了主从数据库
  2. Client是用户访问数据的接口

2.3. HDFS的冗余存储

2.4. HDFS基本操作

  1. hadoop fs -ls /user/:显示hdfs指定路径下的文件和文件夹
  2. hadoop fs -putmy_file /data/:将本地文件上传到hdfs
  3. hadoop fs -get /tmp/data/my_file:将hdfs_上的文件下载到本地
  4. hadoop fs -cat /tmp/data/my_file:查着dfs中的文本文件内容
  5. hadoop fs -text /tmp/data/my_sequence_file:查着dfs中的sequence文件内容
  6. hadoop fs -rm /tmp/data/my_file:将hdfs,上的文件删除

3. MapReduce

操作

  1. Map
  2. Reduce

4. 数据流

按照管道的方式对数据流进程处理,将Mapper和Reducer放到单一节点上提高计算效率

大数据分析-第二章 大数据平台相关推荐

  1. 第二章-大数据处理框Hadoop

    第二章-大数据处理框Hadoop 文章目录 第二章-大数据处理框Hadoop Hadoop简介 Hadoop概念 Hadoop版本 Hadoop优化与发展 Hadoop生态系统 Hive Pig Ha ...

  2. 最新中国福彩分析大数据分析大师拥有双色球数据展示微信小程序源码支持双色球数据分析多个接口

    demo软件园每日更新资源,请看到最后就能获取你想要的: 1.最新中国福彩分析大数据分析大师拥有双色球数据展示微信小程序源码支持双色球数据分析多个接口 福彩大数据分析小程序,数据来自于中国福利彩票 拥 ...

  3. 大数据分析10种最佳数据屏蔽工具和软件

    老许今日份知识分享来了. 市场上可用的最佳开源免费数据屏蔽工具列表和比较: 数据屏蔽是用于隐藏数据的过程. 在数据屏蔽中,实际数据由随机字符屏蔽.它可以防止未经授权查看机密信息的人. 数据屏蔽的主要目 ...

  4. 推荐一个多功能且实用的shopee大数据分析系统―—知虾数据

    推荐一个多功能且实用的shopee大数据分析系统―-知虾数据 知虾数据能帮助卖家轻松地掌握各大站点的数据,从而提高选品的准确度,有效引流,最终打造超卖爆单店铺,助力Shopee卖家实现跨境电商的追光之 ...

  5. 命名管道 win7未响应_大数据分析Python建立分析数据管道

    如果您曾经想通过流数据或快速变化的数据在线学习Python,那么您可能会熟悉数据管道的概念.数据管道允许您通过一系列步骤将数据从一种表示形式转换为另一种表示形式.数据管道是数据工程的关键部分,我们将在 ...

  6. 【大数据分析1】大数据基础理论

    大数据分析-考点 序号 大分类 分类 掌握程度 内容 完成进度 备注 1 大数据基础理论 大数据分析基础 领会 大数据技术诞生技术背景 大数据技术实际应用 分布式处理技术概念 数据分析和数据挖掘的概念 ...

  7. 大数据分析R语言tidyverse数据清洗工具教程

    凌乱的数据集无处不在.如果要分析数据,不可避免地需要清理数据.在大数据分析R语言tidyverse数据清洗工具教程中,我们将研究如何使用R和一些漂亮的tidyverse工具来做到这一点. 该tidyv ...

  8. Python数据分析第二课:数据的写入与读取

    一 数据的写入 我们可以将数据写入到文件中进行永久性的保存,支持的文件格式有HTML.CSV.JSON.Excel. csv是最为常见的以纯文本文件存储数据文件的格式,它的优点是通用性很强,不受操作系 ...

  9. 计算机组成原理笔记(王道考研) 第二章:数据的表示和运算1

    内容基于中国大学MOOC的2023考研计算机组成原理课程所做的笔记. 感谢LY,他帮我做了一部分笔记.由于听的时间不一样,第四章前的内容看起来可能稍显啰嗦,后面会记得简略一些. 西电的计算机组织与体系 ...

最新文章

  1. 用mysql创建学生成绩表_用SQL创建学生成绩数据库
  2. MySQL高级能量预警
  3. 【实验】不会端口映射?看完就会了
  4. python语法笔记(六)
  5. 多线程测试工具groboutils的使用
  6. 华为耳机5根线怎么接线图解_联通宽带突然无法上网怎么急救处理?
  7. 不是区块链的特征_上市公司日照港物流区块链平台上线,不是谁都能玩“区块链+物流”?...
  8. 怎么把东西去掉修图_很多人花几千块学习商业修图,其实跟把钱扔了一样。?...
  9. 多线程顺序打印的5种解法
  10. java反射性能问题_Java反射应用实例java反射的性能问题 | 学步园
  11. php--实现一个简单的学生管理系统
  12. Microsoft SQL Server是如何加密口令的?未公开的加密函数
  13. 机器学习实战练手项目
  14. Android 文件选择/文件管理
  15. Win7重建100M BCD系统保留分区
  16. 紫乌鸦服务器维护后多久刷,魔兽世界6.1紫乌鸦刷新点大全 刷新时间
  17. 2020第六届上海市大学生网络安全大赛线上赛Misc-可乐加冰
  18. Java项目:JSP会议-会议室管理系统
  19. 减法公式运算法则_数学加减法运算和运算法则
  20. sql查询当天交易总额最大的用户信息_如何分析交易记录? 因为后面要分析“每种类型用户的总交易金额”,所以保留左表(用户交易记录表)中的全部用户数据。 【题目】 某商场为了分析用... - 雪球...

热门文章

  1. 痞子衡嵌入式:飞思卡尔i.MX RT系列MCU量产神器RT-Flash用户指南
  2. 使用迅搜制作站内搜索引擎-整合篇
  3. mysql避免回文_谈谈回文子串
  4. 云视通服务器关闭,云视通服务器连接成功,但数据失败
  5. 是他们,让云原生落地千万家企业!
  6. 【Windows C++】调用powershell上传指定目录下所有文件
  7. android sqlite fts4,在Sqlite中创建动态FTS4表
  8. 电子屏幕的51c语言程序,单片机控制LCD液晶显示器(含程序)
  9. C++ 神奇的头文件
  10. 深圳40年灯光秀之LED显示屏显示技术