Hadoop是干什么用的?存储和分析海量数据的工具

2019-07-3110:03:11数据库教程Comments2,789 views字数 1437阅读模式

1、Hadoop是什么文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/14703.html

1.1、小故事版本的解释文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/14703.html

小明接到一个任务:计算一个100M的文本文件中的单词的个数,这个文本文件有若干行,每行有若干个单词,每行的单词与单词之间都是以空格键分开的。对于处理这种100M量级数据的计算任务,小明感觉很轻松。他首先把这个100M的文件拷贝到自己的电脑上,然后写了个计算程序在他的计算机上执行后顺利输出了结果。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/14703.html

后来,小明接到了另外一个任务,计算一个1T(1024G)的文本文件中的单词的个数。再后来,小明又接到一个任务,计算一个1P(1024T)的文本文件中的单词的个数……文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/14703.html

面对这样大规模的数据,小明的那一台计算机已经存储不下了,也计算不了这样大的数据文件中到底有多少个单词了。机智的小明上网百度了一下,他在百度的输入框中写下了:大数据存储和计算怎么办?按下回车键之后,出现了有关Hadoop的网页。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/14703.html

看了很多网页之后,小明总结一句话:Hadoop就是存储海量数据和分析海量数据的工具。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/14703.html

1.2、稍专业点的解释文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/14703.html

Hadoop是由java语言编写的,在分布式服务器集群上存储海量数据并运行分布式分析应用的开源框架,其核心部件是HDFS与MapReduce。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/14703.html

HDFS是一个分布式文件系统:引入存放文件元数据信息的服务器Namenode和实际存放数据的服务器Datanode,对数据进行分布式储存和读取。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/14703.html

MapReduce是一个计算框架:MapReduce的核心思想是把计算任务分配给集群内的服务器里执行。通过对计算任务的拆分(Map计算/Reduce计算)再根据任务调度器(JobTracker)对任务进行分布式计算。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/14703.html

1.3、记住下面的话:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/14703.html

Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/14703.html

把HDFS理解为一个分布式的,有冗余备份的,可以动态扩展的用来存储大规模数据的大硬盘。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/14703.html

把MapReduce理解成为一个计算引擎,按照MapReduce的规则编写Map计算/Reduce计算的程序,可以完成计算任务。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/14703.html

2、Hadoop能干什么文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/14703.html

大数据存储:分布式存储文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/14703.html

日志处理:擅长日志分析文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/14703.html

ETL:数据抽取到oracle、mysql、DB2、mongdb及主流数据库文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/14703.html

机器学习: 比如Apache Mahout项目文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/14703.html

搜索引擎:Hadoop + lucene实现文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/14703.html

数据挖掘:目前比较流行的广告推荐,个性化广告推荐文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/14703.html

Hadoop是专为离线和大规模数据分析而设计的,并不适合那种对几个记录随机读写的在线事务处理模式。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/14703.html

实际应用:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/14703.html

(1)Flume+Logstash+Kafka+Spark Streaming进行实时日志处理分析文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/14703.html

Hadoop是干什么用的?存储和分析海量数据的工具

(2)酷狗音乐的大数据平台文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/14703.html

Hadoop是干什么用的?存储和分析海量数据的工具

3、怎么使用Hadoop文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/14703.html

3.1、Hadoop集群的搭建文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/14703.html

无论是在windows上装几台虚拟机玩Hadoop,还是真实的服务器来玩,说简单点就是把Hadoop的安装包放在每一台服务器上,改改配置,启动就完成了Hadoop集群的搭建。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/14703.html

3.2、上传文件到Hadoop集群文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/14703.html

Hadoop集群搭建好以后,可以通过web页面查看集群的情况,还可以通过Hadoop命令来上传文件到hdfs集群,通过Hadoop命令在hdfs集群上建立目录,通过Hadoop命令删除集群上的文件等等。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/14703.html

3.3、编写map/reduce程序文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/14703.html

通过集成开发工具(例如eclipse)导入Hadoop相关的jar包,编写map/reduce程序,将程序打成jar包扔在集群上执行,运行后出计算结果。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/14703.html

文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/14703.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/sjk/14703.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定