10种新兴的Hadoop技术

时间:2020-02-23 14:33:24  来源:igfitidea点击:

通过Hadoop将主流用复仇,与Hadoop相关的开源项目随处可见。
以下是最有趣的新兴Hadoop项目,让我们留意。
如果要进入优越的更换,其中一些人可能会停滞不前,但大多数这些进化标本可能成为大多数Hadoop分布中的标准组件。

此列表侧重于Apache社区项目,因为此生态系统一直是大多数现有主流Hadoop项目的开发和维护的项目。
此外,Apache项目具有稳健的治理标准,可以培养开放的开发过程,其中成员的贡献是根据其技术优点而不是议程判断。

Accumulo

Apache Accumlo是Hadoop的数据存储项目,最初由美国政府国家安全局(NSA)开发的。
Accumulo是Hadoop的重要实现。
具体地,CAMPULO是多维分类图,其中每行具有唯一的键,行基于该键以排序顺序存储行,并且每行可以具有多个版本(换句话说,尺寸)。

使用HBASE作为大型数据存储的NSA有很多兴趣,但它没有符合NSA的内部安全要求。
NSA工程师然后建立了Accumulo作为自己的最大实现,后来将其贡献给Apache社区。
Accululo项目以来,自增长了积极开发社区,捐助者来自许多不同的组织 - 不仅仅是NSA类型,换句话说。
Accumulo,现在支持一些主要的Hadoop供应商,正在看到增加的收养率。

区分来自其他最大实现的主要特征是基于细胞的安全性,这确保了授权用户只能看到存储在任何查询的行中的数据。
这是通过安全标签来实现的,这些标签与每行存储。

Drill

一些新兴和竞争技术都在那里试图解决SQL-On-Hadoop问题。
虽然大多数这些技术都是单解决方案,但其中一些是社区驱动,蜂巢是最突出的例子。
Apache Drill由Google Dremel纸张启发,它为交互式系统提供了一种设计,可以查询存储在分布式文件系统中的数据,如HDF,而不必依赖MapReduce。
钻头的设计目标是能够扩展到数千台服务器,并为针对Petabyte-Scale数据运行的查询提供截图响应时间。

截至2014年春季,钻头仍然是Apache孵化器项目,这意味着它尚未被接受为全方位的Apache项目,并且仍然建立稳定的代码基础和项目治理。
但它具有很大的潜力,所以如果它很快就能离开孵化器,因此不要感到惊讶。

Falcon

随着Hadoop在数据仓库环境中的集成增加,业界正在看到Hadoop中的数据集成和治理能力的重大需求。
整合数据和会议治理标准的目前方法涉及这两种选择:

  • 从IBM和Informatica这样的建立的供应商处购买此类工具。

  • 写广泛的自定义代码库。

这就是Apache Falcon项目的目标是旨在通过专门为Hadoop构建的一组数据管理服务来解决。
像钻头一样,Falcon是Apache孵化器项目。

Falcon中的数据管理服务主要集中在管理数据移动和数据转换上。
如果我们不熟悉事务数据库和仓库数据库之间的管理数据,则此数据移动和转换过程通常称为提取,变换和加载(ETL)。
作为用于处理ETL进程的框架的一部分,Falcon包括将数据存储元数据的能力,因为它通过各种ETL阶段传递。
然后,猎鹰可以为数据生命周期管理提供服务(例如,执行保留策略),数据复制和跟踪数据谱系。

Giraph

Hadoop非常擅长在传统表(Hive)和更新,最大的风格(HBase和Accululo)中存储和处理数据,但在许多情况下,替代数据存储结构更适合于手头的任务。
图表数据看起来与表数据完全不同:它没有行或者列。
只有一个图形,其中各个节点(也称为顶点)通过边缘彼此连接。

考虑一下:谷歌面孔正在弄清楚计算搜索结果排名的一个巨大技术挑战。
其中一个因素是根据来自其他网页的入站链路源自到几个入站链路来确定各个网页的一个因素。
到目前为止,计算所有页面的最实用方法是将整个万维网代表为图形,其中页面是节点,链接是顶点。
要捕获其图形数据库工作,Google在其图形数据库上发布了一篇论文,该数据库被命名为Pregel。

Apache Giraph是一种基于Pregel纸的图形处理引擎,专门为Hadoop构建,可以从许多标准Hadoop源读取和写入数据,包括Hive,HBase和Accumulo。

吉拉夫社区非常大而多样化,具有来自许多组织的代码提交者,包括Facebook,Twitter和LinkedIn。
在代码成熟度,性能和采用方面,吉拉斐斯作为Hadoop的领先图形处理引擎。
主要的Hadoop供应商现在支持Giraph,可能会包含它。
(Apache Bigtop项目已经完成。
)

Knox Gateway

作为具有数百或者数千台个人计算机的分布式系统,Hadoop集群是一个安全管理员的噩梦。
要使事项更糟糕,Hadoop集群中的计算节点都具有多个服务,彼此交换,并且在某些情况下需要与客户端应用程序直接连接。
加起所有这些因素,并且我们有一个巨大的计算机表面区域,具有我们需要保护的开放端口。
为了解决这个问题,Hortonworks已经开始了Apache Knox Gateway项目,它仍处于早期作为Apache孵化器项目的早期。

Knox Gateway的主要目标是为Hadoop集群提供周边安全性。
它通过为Hadoop集群边缘提供用于群集身份验证的中心点来实现这一点。
在群集本身外,Knox网关将所有入站客户端请求处理到群集它的保护,然后将有效请求路由到Hadoop集群中的相应服务。
从这个意义上讲,Knox Gateway在字面上是Hadoop集群与外界之间的所有通信的安全网关。
Knox Gateway允许网络管理员隔离外界的Hadoop集群,因为只要诺克斯网关服务器处于活动状态,客户端都与其Hadoop服务有安全的连接。

Samza

纱线的一个令人兴奋的方面是在Hadoop集群上运行不同种类的工作负载的可能性。
使用MapReduce,我们仅限于批处理,但随着Spark和Tez(我们谈论下面的谈话)和上述钻头等新技术也能够支持交互式查询。
另一类工作量正在流传输数据,这是Apache Samza项目的目标是解决。
(流数据用于实时处理数据而不是依赖批处理的停止和转移方面。
)

Samza项目由LinkedIn的工程师开始,该工程师需要流式数据引擎。
LinkedIn工程师而不是保持他们的代码,而不是保持他们的代码,在开源Apache社区中正在开发Samza。
在本文的时候,Samza仍处于早期作为Apache孵化器项目的早期。
虽然存在其他流数据引擎(如火花流和风暴,如下讨论),但LinkedIn团队决定建立自己的引擎,以最好适合其需求。

Sentry

关于诺克斯网关项目的部分,具有Hadoop的一些安全挑战。
虽然Knox网关解决了系统授权(确保允许用户连接到Hadoop集群的服务),但它不会解决数据授权的按需需求,其中有业务需求限制对数据子集的访问。
一个常见的例子是需要隐藏包含敏感数据的表,例如寻找行为模式的分析师的信用卡号。
Apache Sentry项目由Cloudera启动,作为向其Impala项目中存储的数据提供此类访问控制。
截至2014年春季,Sentry是Apache孵化器项目。

Sentry介绍了不同用户角色类的概念来Hadoop,同时能够在Impala或者Hive中进行数据资产的分类。
根据在数据库,表格或者视图级别应用的分类,只有具有适当角色的用户只能访问数据。

Spark

Apache Spark项目在2014年迅速成为2014年的家庭名称(至少在Hadoop家庭中)成为顶级Apache项目(这意味着它毕业于孵化器状态)以及一些Hadoop配送排队宣布支持。
作为群集计算框架的火花是另一个项目,该项目实现了巨大的潜在纱线为Hadoop提供支持不同的数据处理框架。

Spark最初由UC Berkeley的研究人员开发,他于2013年创建了Databricks,以便将其商业化,迅速获得1400万美元的风险投资资金。

与Mapreduce相比,Spark的兴奋来自其相对简单性,并为流媒体和交互式工作负载的更大灵活性。
与Mapreduce的进一步相反,火花在内存中进行数据处理,这产生了相当大的性能益处。
同时,它可以处理不适合磁盘内存的更大的数据集,但它仍然提供性能优势,因为火花不需要粘附到MapReduce的刚性地图并减少周期,这通常不是最佳的许多算法。

作为一般框架,Spark拥有许多用于更专业的数据处理的子项目:Spark流用于流式实时数据源;鲨鱼,用于交互式SQL查询;机器学习库(MLLIB)用于机器学习;和图形处理的Graphx。

Storm

Apache Storm是本文中涵盖的第三流数据分析引擎(与Samza和Spark Streaming作为另外两种),这是一个大约一个重要的实时分析正在进行Hadoop社区。
但这些不同的方法也是迹象表明它仍然在Hadoop流媒体数据分析的演变中,因为这三个都没有成为领导者。
风暴一直是一个活跃的项目最长,在2011年推特在推特后被捐赠给开源社区。
风暴现在是Apache孵化器项目。

由于Hortonworks开发商的工作,他们将其带入Apache社区,Storm被改装为与纱线框架合作。
这将风暴带入Hadoop生态系统作为一个实时处理替代品。

Tez.

与流媒体数据分析引擎发生的事情类似,MapReduce用于交互式分布式处理的许多替代方案。
Spark是这些框架的突出示例。
这种框架的另一个领先示例是Apache Tez,它在很大程度上由Hortonworks驱动。

SQL-On-Hadoop挑战的Hortonworks解决方案是提高蜂巢。
为了满足这一挑战,Hortonworks宣布其Stinger计划,涉及蜂巢的一些变化,涉及更好地支持ANSI SQL标准和更好的性能。
Hive中的一个关键限制是它对MapReduce进行处理查询的依赖性。
MapReduce的能力在其处理常见的SQL操作(如加入和群组)的能力中有限,这导致与以可比大规模运行的大规模并行关系数据库替代品相比出现极差。
HortonWorks宣布TEZ项目向MapReduce提供替代框架,这对于更优化(和灵活)数据处理可能性进行了优化。
TEZ也将被用作猪的潜在框架。