当前位置: 首页 > 科技观察

什么是Hadoop,它能做什么,怎么用

时间:2023-03-14 20:50:46 科技观察

1,什么是Hadoop1.1,小故事版讲解小明接到一个任务:统计一个100M的文本文件的字数,这个文本文件有几个行,每行有几个词,每行中的词之间用空格隔开。对于处理这样100M数据的计算任务,小明感觉很轻松。他先把100M的文件复制到自己的电脑上,然后编写了一个计算程序,在自己的电脑上执行,结果成功输出。后来,小明又接到了一个任务,计算一个1T(1024G)的文本文件的字数。后来,小明又接到了一个任务,统计一个1P(1024T)的文本文件的字数……面对如此庞大的数据,小明的电脑已经存不下了,也计算不出来了。大数据文件中有多少个单词。机智的小明上网百度,他在百度的输入框里写道:大数据存储和计算呢?按下回车键后,出现了一个关于Hadoop的网页。看了很多网页,小明总结了一句话:Hadoop是海量数据存储和分析的工具。1.2.稍微专业一点的解释。Hadoop是用java语言编写的。它是一个用于在分布式服务器集群上存储海量数据并运行分布式分析应用程序的开源框架。其核心组件是HDFS和MapReduce。HDFS是一个分布式文件系统:引入存储文件元数据信息的服务器Namenode和实际存储数据的服务器Datanode,以分布式方式存储和读取数据。MapReduce是一种计算框架:MapReduce的核心思想是将计算任务分配给集群中的服务器执行。通过拆分计算任务(Map计算/Reduce计算),然后根据任务调度器(JobTracker)对任务进行分布式计算。1.3.记住以下几点:Hadoop框架的核心设计是:HDFS和MapReduce。HDFS为海量数据提供存储,MapReduce为海量数据提供计算。将HDFS理解为一种分布式、冗余备份、动态可扩展的大硬盘,用于存储大规模数据。将MapReduce理解为计算引擎,根据MapReduce的规则编写Map计算/Reduce计算程序,完成计算任务。2、Hadoop能做什么大数据存储:分布式存储日志处理:擅长日志分析ETL:数据抽取到oracle、mysql、DB2、mongdb等主流数据库机器学习:例如ApacheMahout项目搜索引擎:Hadoop+lucene到实现数据挖掘:目前流行的广告推荐、个性化广告推荐Hadoop是为离线、大规模数据分析而设计的,不适合随机读写多条记录的在线交易处理模式。实际应用:(1)Flume+Logstash+Kafka+SparkStreaming实时日志处理分析(2)酷狗音乐的大数据平台3.Hadoop3.1的使用方法,Hadoop集群搭建不管装多少虚拟机在windows上玩hadoop,还是用realserver来玩。简单来说就是把Hadoop安装包放到每台服务器上,更改配置,开始完成Hadoop集群的搭建。3.2.上传文件到Hadoop集群Hadoop集群搭建完成后,可以通过网页查看集群状态。也可以通过Hadoop命令上传文件到hdfs集群,通过Hadoop命令在hdfs集群上创建目录,通过Hadoop命令删除集群。文件等3.3。编写map/reduce程序通过集成开发工具(如eclipse)导入Hadoop相关的jar包,编写map/reduce程序,将程序打包成jar包丢到集群上执行,运行后输出计算结果.