对Hadoop 的认识

时间:2024-04-02 19:47:26

一、Hadoop的架构与组成?
Hadoop是一个能够对大量数据进行分布式处理的软件框架,以一种可靠、高效、可伸缩的方式进行数据处理,其有许多元素 构成,以下是其组成元素:
1.Hadoop Common:Hadoop体系最底层的一个模块,为Hadoop各子项目提供各种工具,如:配置文件和日志操作等。
2.HDFS:分布式文件系统,提供高吞吐量的应用程序数据访问,对外部客户机而言,HDFS 就像一个传统的分级文件系统。可以创建、删除、移动或重命名文件,等等。但是HDFS 的架构是基于一组特定的节点构建的(参见图 1),这是由它自身的特点决定的。这些节点包括 NameNode(仅一个),它在 HDFS 内部提供元数据服务;DataNode,它为 HDFS 提供存储块。由于仅存在一个 NameNode,因此这是 HDFS 的一个缺点(单点失败)。存储在 HDFS 中的文件被分成块,然后将这些块复制到多个计算机中(DataNode)。这与传统的 RAID 架构大不相同。块的大小(通常为 64MB)和复制的块数量在创建文件时由客户机决定。NameNode 可以控制所有文件操作。HDFS 内部的所有通信都基于标准的 TCP/IP 协议。
3.MapReduce:一个分布式海量数据处理的软件框架集计算集群。
4.Avro :doug cutting主持的RPC项目,主要负责数据的序列化。有点类似Google的protobuf和Facebook的thrift。avro用来做以后hadoop的RPC,使hadoop的RPC模块通信速度更快、数据结构更紧凑。
5.Hive :类似CloudBase,也是基于hadoop分布式计算平台上的提供data warehouse的sql功能的一套软件。使得存储在hadoop里面的海量数据的汇总,即席查询简单化。hive提供了一套QL的查询语言,以sql为基础,使用起来很方便。
6.HBase :基于HadoopDistributed File System,是一个开源的,基于列存储模型的可扩展的分布式数据库,支持大型表的存储结构化数据。
7.Pig :是一个并行计算的高级的数据流语言和执行框架 ,SQL-like语言,是在MapReduce上构建的一种高级查询语言,把一些运算编译进MapReduce模型的Map和Reduce中,并且用户可以定义自己的功能。
8.ZooKeeper:Google的Chubby一个开源的实现。它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
9.Chukwa :一个管理大型分布式系统的数据采集系统 由yahoo贡献。
10.Cassandra:无单点故障的可扩展的多主数据库
11.Mahout :一个可扩展的机器学习和数据挖掘库
二、Hadoop 的生态圈?
对Hadoop 的认识
三、爬虫软件有哪些?
前市面上常见的爬虫软件一般可以划分为云爬虫和采集器两种:
所谓云爬虫就是无需下载安装软件,直接在网页上创建爬虫并在网站服务器运行,享用网站提供的带宽和24小时服务;采集器一般就是要下载安装在本机,然后在本机创建爬虫,使用的是自己的带宽,受限于自己的电脑是否关机。
1、首先是云爬虫,国内目前主要是:神箭手云爬虫
a.官网:https://www.shenjian.io/
b.简介:神箭手云是一个大数据应用开发平台,为开发者提供成套的数据采集、数据分析和机器学习开发工具,为企业提供专业 化的数据抓取、数据实时监控和数据分析服务。
c.优点:功能强大,涉及云爬虫、API、机器学习、数据清洗、数据出售、数据订制和私有化部署等;
纯云端运行,跨系统操作无压力,隐私保护,可隐藏用户IP。
提供市场,零基础使用者可直接调用开发好的爬虫,开发者基于官方的云端开发环境开发并上传出售自己的爬虫程序;
领先的反爬技术,例如直接接入代理IP和自动登录验证码识别等,全程自动化无需人工参与;
丰富的发布接口,采集结果以丰富表格化形式展现;
d.缺点:它的优点同时也在一定程度上成了它的缺点,因为它是一个面向开发者的爬虫开发系统,提供了丰富的开发功能,网站看起来非常的偏技术非常专业,尽管官方也提供了云爬虫市场这样的现成爬虫产品,并且开放给广大爬虫开发者,从而让爬虫市场的内容更加丰富,但是对于零技术基础的用户而言并不是那么容易理解,所以有一定的使用门槛。
e.是否免费:免费用户无采集功能和导出限制,无需积分。
具备开发能力的用户可以自行开发爬虫,达到免费效果,没有开发能力的用户需要从爬虫市场寻找是否有免费的爬虫。
对Hadoop 的认识

​然后是采集器,目前国内主要包括以下这些(百度/谷歌搜采集器,刨去广告,排名靠前的):

2、火车头采集器:
a.官网:http://www.locoy.com/
b.简介:火车采集器是一款网页数据抓取、处理、分析,挖掘软件。可以灵活迅速地抓取网页上散乱分布的信息,并通过强大的处理功能准确挖掘出所需数据。
c.优点:国内老牌的采集器,经过多年的积累,具有丰富的采集功能;
采集速度比较快,接口比较齐全,支持PHP和C#插件扩展;
支持多种数据格式导出,可以进行数据替换等处理。
d.缺点:越是年头长的产品越容易陷入自己的固有经验中,火车头也难以摆脱这问题。
虽说功能丰富,但是功能都堆砌在那里,用户体验不好,让人不知道从何下手;
学会了的人会觉得功能强大,但是对于新手而言有一定使用门槛,不学习一段时间很难上手,零基础上手基本不可能。
只支持Windows版本,不支持其他操作系统;
e.是否免费:号称免费,但是实际上免费功能限制很多,只能导出单个txt或html文件,基本上可以说是不免费的。
对Hadoop 的认识

3、八爪鱼采集器:
a.官网:http://www.bazhuayu.com/
b.简介:八爪鱼采集器是一款可视化采集器,内置采集模板,支持各种网页数据采集。
c.优点:支持自定义模式,可视化采集操作,容易上手;
支持简易采集模式,提供官方采集模板,支持云采集操作;
支持防屏蔽措施,例如代理IP切换和验证码服务;
支持多种数据格式导出。
d.缺点:功能使用门槛较高,本地采集时很多功能受限,而云采集收费较高;
采集速度较慢,很多操作都要卡一下,云端采集说10倍提速但是并不明显;
只支持Windows版本,不支持其他操作系统。
e.是否免费:号称免费,但是实际上导出数据需要积分,可以做任务攒积分,但是正常情况下基本都需要购买积分。
对Hadoop 的认识

4、后羿采集器:
a.官网:http://www.houyicaiji.com/
b.简介:后羿采集器是由前谷歌搜索技术团队基于人工智能技术研发的新一代网页采集软件,该软件功能强大,操作极其简单。
c.优点:支持智能采集模式,输入网址就能智能识别采集对象,无需配置采集规则,操作非常简单;
支持流程图模式,可视化操作流程,能够通过简单的操作生成各种复杂的采集规则;
支持防屏蔽措施,例如代理IP切换等;
支持多种数据格式导出;
支持定时采集和自动化发布,发布接口丰富;
支持Windows、Mac和Linux版本。
d.缺点:软件推出时间不长,部分功能还在继续完善,暂不支持云采集功能
e.是否免费:完全免费,采集数据和手动导出采集结果都没有任何限制,不需要积分。
对Hadoop 的认识