首页 » 网站推广 » pigcmsruntimephp技巧_Hadoop对象推荐你身边的大年夜数据专家

pigcmsruntimephp技巧_Hadoop对象推荐你身边的大年夜数据专家

duote123 2024-12-18 0

扫一扫用手机浏览

文章目录 [+]

在开始利用Hadoop之前,你须要理解一下Hadoop生态系统。
Hadoop生态系统既不是编程措辞也不是做事。
它是办理大数据问题的平台或框架。
你可以将其视为套件,个中包含内部的许多做事(记录、存储、剖析和掩护)。
让我们简要理解做事是如何单独与协同事情的。

以下是共同构成Hadoop生态系统的Hadoop组件:

pigcmsruntimephp技巧_Hadoop对象推荐你身边的大年夜数据专家

HDFS — Hadoop分布式文件系统YARN — 另一个资源会谈者MapReduce — 利用编程进行数据处理Spark — 内存中数据处理PIG,HIVE — 利用查询的数据处理做事(类似于SQL)HBase — NoSQL数据库Mahou,Spark MLlib — 机器学习Apache Drill — Hadoop上的SQLZookeeper — 管理群集Oozie — 作业调度Flume,Sqoop — 数据提取做事Solr and Lucene — 搜索和索引Ambari — 配置,监控和掩护集群

pigcmsruntimephp技巧_Hadoop对象推荐你身边的大年夜数据专家
(图片来自网络侵删)

Hadoop分布式文件系统

Hadoop分布式文件系统的核心部件,或者说是Hadoop的生态系统的支柱。

HDFS可以存储不同类型的大型数据集(即构造化,非构造化和半构造化数据)。
HDFS在资源上创建了一个抽象级别,在这里我们可以将全体HDFS视为一个单元。
它有助于我们在各个节点上存储数据并掩护有关存储数据(元数据)的日志文件。

HDFS具有两个核心组件(NameNode和DataNode)。

1.该NameNode是主节点,它不存储的实际数据。
它包含元数据,就像日志文件一样,或者你可以说是目录。
因此,它须要较少的存储空间和较高的打算资源。
2.另一方面,你的所有数据都存储在DataNodes上,因此须要更多的存储资源。
这些DataNode是分布式环境中的商品硬件(例如条记本电脑和台式机)。
这便是Hadoop办理方案非常具有本钱效益的缘故原由。
3.NameNode在写入数据时,你始终与之通信。
然后,它在内部向客户端发送一个要求,以存储和复制各种数据DataNodes。

Hadoop分布式文件存储架构

YARN

YARN相称于Hadoop生态系统的大脑,它通过分配资源和安排任务来实行你的所有处理活动。

它有两个紧张部分(ResourceManager和NodeManager)。

1.ResourceManager还是加工部门的紧张节点。

2.它吸收处理要求,然后将要求的各个部分通报到相应的NodeManagers,在该处进行实际处理。
3.NodeManagers安装在每个DataNode上,它卖力在每个单个DataNode上实行任务。

调度程序:调度程序根据你的运用程序资源需求,实行调度算法并分配资源。
ApplicationsManager:在ApplicationsManager接管作业提交的同时,它与容器(即进程实行所在的数据节点***进行协商,以实行特定运用程序ApplicationMaster并监视进度。
ApplicationMasters是驻留在容器上的守护进程,DataNode与容器通信以在每个容器上实行任务DataNode。
ResourceManager有两个组成部分(Schedulers和ApplicationsManager)。
MapReduce

它供应了处理逻辑,是Hadoop生态系统中处理的核心组件。
换句话说,MapReduce是一个软件框架,可帮助编写利用Hadoop环境中利用分布式和并行算法处理大型数据集的运用程序。

在MapReduce程序中,Map()和Reduce()是两个函数。
1.该Map功能实行诸如过滤、分组和排序之类的操作。
2.该Reduce函数汇总并汇总该函数产生的结果map。

3.Map函数天生的结果是一个键-值对(K,V),用作该Reduce函数的输入。

MapReduce数据集

让我们以上面的示例为例,以更好地理解MapReduce程序。

有这样一个学生及其所属部门的样本案例,我们要打算每个部门的学生人数。
最初,Map程序将实行并打算涌如今每个部门的学生,从而产生键值对,如上所述。
此键值对是Reduce函数的输入。
Reduce然后,该函数将汇总每个部门的人数,并打算每个部门的学生总数并得出给定的结果。

Apache Pig

PIG有两个部分:Pig Latin(措辞)和Pig runtime(实行***,即实行环境。
你可以更好地将其理解为Java和JVM。

它支持pig拉丁语措辞,该措辞具有类似于SQL的命令构造。

Apache PIG可以减轻那些没有编程背景的人的困扰。

编译器在内部将Pig Latin转换为MapReduce。
它会产生一系列MapReduce作业。
PIG最初由Yahoo开拓。

它为你供应了一个平台来构建ETL(提取,转换和加载),处理和剖析弘大数据集的数据流。
Pig如何事情?

在PIG中,首先,load命令加载数据。
然后,我们对其实行各种功能,例如分组、过滤、联接、排序等。
末了,你可以在屏幕上转储数据,也可以将结果存储回HDFS。

Apache Hive

Facebook为精通SQL的人创建了HIVE。
因此,HIVE使他们在Hadoop生态系统中事情时感到宾至如归。

基本上,HIVE是一个数据仓库组件,它利用类似SQL的界面在分布式环境中实行读取,写入和管理大型数据集。

HIVE + SQL = HQL

Hive的查询措辞称为Hive查询措辞(HQL)。
它具有两个基本组件:Hive命令行和JDBC / ODBC驱动程序。
Hive命令行接口用于实行HQL命令。
Java数据库连接(JDBC)和工具数据库连接(ODBC)用于从数据存储建立连接。

Hive具有高度可伸缩性。
它可以实行大型数据集处理(即批处理查询处理)和实时处理(即交互式查询处理)的操作。
它支持SQL的所有原始数据类型。
你可以利用预定义功能或编写定制的用户定义功能(UDF)来知足你的特定需求。
Apache Mahout

现在,让我们谈谈以机器学习而有名的Mahout。
Mahout供应了一个用于创建可扩展的机器学习运用程序的环境。

Mahout能做什么?

它实行协作式过滤,聚类和分类。
有些人还认为短缺频繁项集是Mahout的功能。
让我们分别理解它们:

1.协作过滤:Mahout会挖掘用户的行为,其模式及其特色,并预测并向用户提出建议。
范例的用例是电子商务网站。

2.群集:它将相似的数据组组织在一起,例如可以包含博客、新闻、研究论文等的文章。

3.分类:这意味着将数据分类和归类为各个子部门(即文章可以归类为博客、新闻、文章、研究论文等)。

4.短缺频繁的项目集:在这里,Mahout会检讨哪些工具可能会一起涌现,并提出建议(如果短缺)。
例如,常日将手机和保护套放在一起。
因此,如果你搜索手机,它也会为你推举外壳和保护套。

Mahout供应了一个命令行来调用各种算法。
它具有一组预定义的库,该库已包含针对不同用例的不同内置算法。

Apache Spark

Apache Spark是用于分布式打算环境中的实时数据剖析的框架。
Spark是用Scala编写的,最初是在加利福尼亚大学伯克利分校开拓的。
它实行内存中计算以提高Map-Reduce上的数据处理速率。

通过利用内存打算和其他优化,对付大规模数据处理,它的速率比Hadoop快100倍。
因此,它比Map-Reduce须要更高的处理能力。

如你所见,Spark附带了高等库,包括对R、SQL、Python、Scala、Java等的支持。
这些标准库增加了繁芜事情流程中的无缝集成。
此外,它还许可各种做事集与其集成,例如MLlib、GraphX、SQL+数据框架,流做事等,以增强其功能。

这是每个人心中很普遍的问题:

“ Apache Spark:Apache Hadoop的杀手还是救星?” –奥莱利

答案:这不是苹果与苹果的比较。
Apache Spark最适宜实时处理,而Hadoop旨在存储非构造化数据并对其实行批处理。
当我们结合利用Apache Spark的能力(即高处理速率,高等剖析和对Hadoop的商品硬件低本钱操作的多重集成支持)时,它可以供应最佳结果。

这便是为什么许多公司将Spark和Hadoop一起利用来处理和剖析存储在HDFS中的数据的缘故原由。

Apache HBase

HBase是一个开源的、非关系的、分布式数据库。
换句话说,它是一个NoSQL数据库。
它支持所有类型的数据,这便是为什么它能够处理Hadoop生态系统中的任何事物。

它以Google的BigTable建模为根本,BigTable是旨在应对大型数据集的分布式存储系统。
HBase设计为在HDFS之上运行,并供应类似BigTable的功能。

它为我们供应了一种存储稀疏数据的容错办法,这在大多数大数据用例中都很常见。
HBase用Java编写,而HBase运用程序可以用REST,Avro和Thrift API编写。

为了更好地理解,让我们举个例子。
你有数十亿客户的电子邮件,并且须要找出在他们的电子邮件中利用“投诉”一词的客户数量。
该要求须要快速处理(即实时)。
因此,在这里,我们正在处理大量数据集,同时检索少量数据。
HBase旨在办理此类问题。

Apache Drill

顾名思义,Apache Drill用于钻取任何类型的数据。
这是一个开放源代码运用程序,可与分布式环境一起利用以剖析大型数据集。

它是Google Dremel的副本。
它支持各种NoSQL数据库和文件系统,包括Azure Blob存储,Google Cloud Storage、HBase、MongoDB、MapR-DB HDFS、MapR-FS、Amazon S3、Swift、NAS和本地文件。

实质上,Apache Drill背后的紧张目标是供应可伸缩性,以便我们可以高效地处理PB级和EB级的数据(或者你可以在几分钟内说出)。

Apache Drill的紧张功能在于仅通过单个查询即可组合各种数据存储。

Apache Drill基本上遵照ANSI SQL。
它具有强大的可伸缩性成分,可支持数百万个用户并在大规模数据上知足其查询要求。
Apache ZooKeeper

Apache ZooKeeper是任何Hadoop作业的折衷者,个中包括Hadoop生态系统中各种做事的组合。
Apache ZooKeeper在分布式环境中与各种做事折衷。

在利用Zookeeper之前,在Hadoop生态系统中的不同做事之间进行折衷非常困难且耗时。
先前的做事在同步数据时在交互方面存在很多问题,例如通用配置。
纵然配置了做事,做事配置的变动也会使其变得繁芜且难以处理。
分组和命名也是一个耗时的成分。

由于上述问题,引入了ZooKeeper。
通过实行同步,配置掩护,分组和命名,可以节省大量韶光。
只管它是一项大略的做事,但可用于构建功能强大的办理方案。

像Rackspace,Yahoo和eBay这样的大公司在全体数据事情流程中都利用此做事,因此你对ZooKeeper的主要性有所理解。

Apache Oozie

将Apache Oozie视为Hadoop生态系统中的时钟和警报做事。
对付Apache作业,Oozie就像调度程序一样。
它调度Hadoop作业,并将它们作为一项逻辑事情绑定在一起。

Oozie事情有两种:

1.Oozie事情流程:这些是要实行的顺序动作集。
你可以将其视为接力赛,每个运动员都在等待末了一个运动员完成比赛。

2.Oozie折衷器:这些是Oozie作业,当数据可用时会触发这些作业。
将此视为我们体内的反应刺激系统。
就像我们对外部刺激做出反应一样,Oozie折衷员也会对数据的可用性做出相应,而其他情形则不然。

Apache Flume

摄取数据是我们Hadoop生态系统的主要组成部分。

Flume是一项做事,可帮助将非构造化和半构造化数据导入HDFS。

它为我们供应了一个办理方案,可靠和分发,并帮助我们在网络,汇总, 并移动大量的数据集。
它有助于从HDFS中的各种来源(例如网络流量,社交媒体,电子邮件,日志文件等)中提取在线流数据。

现在,让我们从下图理解Flume的体系构造:

Flume代理将流数据从各种数据源提取到HDFS。
从图中可以很随意马虎地理解Web做事器指示数据源。
Twitter是流数据的著名来源之一。

槽剂具有三个组成部分:源,吸收器和通道。

1.源:从传入的流线吸收数据,并将该数据存储在通道中。

2.通道: 充当本地存储或主存储。
通道是HDFS中数据源和持久数据之间的临时存储。

3.吸收器:从通道网络数据,并永久将数据提交或写入HDFS。

Apache Sqoop

现在,让我们谈谈另一个数据摄取做事,即Sqoop。
Flume和Sqoop之间的紧张差异在于:

Flume仅将非构造化数据或半构造化数据摄取到HDFS中。
虽然Sqoop可以从RDBMS或企业数据仓库向HDFS导入和导出构造化数据,反之亦然。

让我们利用下图理解Sqoop的事情办法:

当我们提交Sqoop命令时,我们的紧张任务被分为子任务,然后由内部的单个Map Task处理。
Map Task是子任务,它将部分数据导入Hadoop生态系统。

当我们提交作业时,它将被映射到“映射任务”中,该任务从HDFS中带入大量数据。
这些块被导出到构造化数据目的地。
结合所有这些导出的数据块,我们将在目的地吸收全体数据,该目的地在大多数情形下是RDBMS(MYSQL / Oracle / SQL Server)。

Apache Solr and Lucene

Apache Solr和Apache Lucene用于在Hadoop生态系统中进行搜索和建立索引。

Apache Lucene基于Java,它也有助于拼写检讨。
如果说Apache Lucene是引擎,那么Apache Solr便是环绕它建造的汽车。
它利用Lucene Java搜索库作为搜索和完全索引的核心。
Apache Ambari

Ambari是一个Apache软件基金会项目,旨在使Hadoop生态系统更易于管理。

它包括用于置备,管理和监视 Apache Hadoop集群的软件。

Ambari供应:

1.Hadoop集群配置:

它为我们供应了在多个主机上安装Hadoop做事的分步过程。
它还处理集群上Hadoop做事的配置。

2.Hadoop集群管理:

它供应了一个集中管理做事,用于跨集群启动,停滞和重新配置Hadoop做事。

3.Hadoop集群监控:

为了监视康健和状态,Ambari供应了一个仪表板。
黄色警报框架是一种告警做事关照每当须要关注的用户(例如,如果一个节点涌现故障或节点上磁盘空间不敷等)。

末了,我想请你把稳以下三个主要解释:

1.Hadoop生态系统的成功归功于全体开拓职员社区。
许多大型组织,例如Facebook,Google,Yahoo,加利福尼亚大学(伯克利)等,都为提高Hadoop的功能做出了贡献。

2.在Hadoop生态系统内部,有关一个或两个工具(Hadoop组件)的知识将无助于构建办理方案。
你须要学习一组Hadoop组件,这些组件可以一起构建一个办理方案。

3.根据用例,我们可以从Hadoop生态系统中选择一组做事,并为组织创建量身定制的办理方案。

标签:

相关文章

php常量率低技巧_PHP 常量详解教程

PHP 常量常量是单个值的标识符(名称)。在脚本中无法改变该值。有效的常量名以字符或下划线开头(常量名称前面没有 $ 符号)。注释...

网站推广 2024-12-19 阅读0 评论0