Hadoop 使用什么?用于存储和分析海量数据的工具
1。什么是 Hadoop
1.1。短篇小说版本说明
小明接到一个任务:统计100M文本文件中的单词数。这个文本文件有几行,每行有几个单词,每行中的单词之间用空格键分隔。对于这样处理100M数据的计算任务,小明感觉非常轻松。他先将100M的文件复制到电脑中,然后编写了计算程序并在电脑上执行,成功得出了结果。
后来,小明接到了另一个任务,统计1T(1024G)文本文件的字数。后来,小明又接到了一项任务,统计文本文件1P(1024T)的字数……
面对大规模的数据,小明的电脑已经无法存储,无法保存。我无法计算一个非常大的数据文件中的单词数。聪明的小明上网百度,在百度的输入框中写道:大数据存储和计算呢?按回车键后,会出现一个关于Hadoop的网页。
看了很多网页后,小明总结道:Hadoop是存储大数据和分析大数据的工具。
1.2。有点专业的解释
Hadoop是用Java编写的,是一个开源框架,用于存储大数据并在分布式服务器集群上运行分布式分析应用程序。核心组件是HDFS和MapReduce。
HDFS是一个分布式文件系统:它引入了Namenode(存储文件元数据信息的服务器)和Datanode(实际存储数据的服务器),以分布式方式存储和读取数据。
MapReduce是一个计算框架:MapReduce的核心思想是将计算任务分配到集群中的服务器上执行。通过分离计算任务(计算映射/Reduce计算),然后根据任务调度(JobTracker)在任务中进行分布式计算。
1.3。注意以下几点:
Hadoop框架的核心设计是:HDFS和MapReduce。 HDFS为海量数据提供存储,MapReduce为海量数据提供计算。
理解HDFS是一种分布式备份、冗余、可动态扩展的大型硬盘,用于存储大量数据。
了解MapReduce作为计算引擎,并根据MapReduce规则编写Map计算/Reduce计算程序来完成计算任务。
2。 Hadoop 能做什么?
大数据存储:分布式存储
日志处理:擅长日志分析
ETL:数据提取到oracle、mysql、DB2、mongdb及主流数据库
项目机器输出搜索引擎:Hadoop + lucene实现
数据挖掘:目前流行的广告推荐,个性化广告推荐
Hadoop是为离线、大规模的数据分析而设计的,不适合随机读写部分记录的在线事务处理模式。
实际应用:
(1)Flume+Logstash+Kafka+Spark Streaming进行实时日志处理和分析
(2)酷狗音乐大数据平台
3.如何使用Hadoop
3.1,搭建Hadoop集群
无论是在Windows上安装多台虚拟机来玩Hadoop,还是在真实服务器上玩,只需在每台服务器上安装Hadoop安装包即可。 ,更改配置,开始完成Hadoop集群的搭建。
3.2。上传文件到Hadoop集群
Hadoop集群搭建完成后,可以通过网页查看集群的状态。您还可以通过Hadoop命令上传文件到HDFS集群,并通过Hadoop命令在HDFS集群中创建目录。通过 Hadoop 命令等删除集群上的文件。
3.3。编写map/reduce程序
通过集成开发工具(如eclipse)导入Hadoop相关jar包,编写map/reduce程序,将程序放入jar包中扔到集群上执行,并计算运行结果后的结果。
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。