在使用BigData大约8年以上之后,我遇到了大量的项目。Esp Apache的运动对于BigData域非常强大。每个人都会提出一个针对特定解决方案的项目。但是,由于有这么多项目出现,我找不到一个可以查看它们的地方。所以,这就是这个页面背后的灵感。一站式,查看所有Apache BigData项目。当然,这个页面需要不断更新。如果您发现任何项目缺失,请发表评论
我同意一个大的列表(43个以上的项目),但这就是能够进行BigData处理的项目的范围。此外,可能有多个项目符合您的要求。关键是要确定哪些最适合您的要求与给定的硬件。
注意:如果您遇到一些Apache BigData项目但未在此处提及的项目,请发表评论。我将检查并将它们添加到此列表中。
1 Apache Airavata
Apache Airavata是一个框架,支持在基于网格的系统,远程集群和基于云的系统中执行和管理计算科学应用程序和工作流。Airavata的主要重点是在基于网格的系统中提交和管理应用程序和工作流程。Airavata的架构也可扩展,以支持其他底层资源。传统的科学应用程序为用户提供了一个门户,可以提交和管理被称为科学网关的科学应用程序。Airavata可以被科学网关开发人员用作他们的中间件层。他们可以直接调用airavata API,以便与基于网格的系统进行通信。
2 Apache Airflow(Incubating)
Airflow是一个以编程方式创作,安排和监控工作流程的平台。
使用气流将工作流作为任务的有向非循环图(DAG)。气流调度程序在遵循指定的依赖关系的同时在一组工作程序上执行您的任务。
3 Apache Ambari
Apache Ambari是一个用于配置,管理和监控Apache Hadoop集群的工具。Ambari包含一组RESTful API和基于浏览器的管理界面。
4 Apache Apex
Apache Apex是一个用于大数据流和批处理的统一平台。用例包括摄取,ETL,实时分析,警报和实时操作。Apex是Hadoop本地YARN实现,默认使用HDFS。它通过缩短上市时间简化了Hadoop应用程序的开发和产品化。主要功能包括具有容错的企业级可操作性,状态管理,事件处理保证,无数据丢失,内存中性能和可伸缩性以及本机窗口支持。
5 Apache Avro
Apache Avro™是一种数据序列化系统。
Avro提供:
丰富的数据结构。
紧凑,快速的二进制数据格式。
容器文件,用于存储持久数据。
远程过程调用(RPC)。
与动态语言的简单集成。不需要代码生成来读取或写入数据文件,也不需要使用或实现RPC协议。代码生成作为可选优化,仅值得为静态类型语言实现。
6 Apache Arrow
为列式内存分析提供支持。它是一种新格式,可以在BigData生态系统中以统一的方式使用。利用最新的硬件(如SIMD)以及软件(柱状)增强功能,并在整个生态系统中提供统一的标准
7 Apache Beam
Apache Beam是一种用于批处理和流数据处理的统一编程模型,可以跨多种分布式执行引擎高效执行,并提供可扩展点,以连接到不同的技术和用户社区。
8 Apache Bigtop
Bigtop是一个用于开发Apache Hadoop生态系统的打包和测试的项目。Bigtop的主要目标是围绕Hadoop相关项目的打包和互操作性测试构建社区。这包括在社区开发的各个级别(包装,平台,运行时,升级等)进行测试,重点是整个系统,而不是单个项目。简而言之,我们努力为Hadoop提供Debian对Linux的支持。
9 Apache BookKeeper
BookKeeper是一种可靠的复制日志服务。它可用于将任何独立服务转换为高可用性复制服务。BookKeeper具有高可用性(无单点故障),并且随着更多存储节点的添加而水平扩展。
10 Apache Calcite
Calcite是一个用于编写数据管理系统的框架。它使用可插入的查询转换规则将在关系代数中表示的查询转换为高效的可执行形式。有一个可选的SQL解析器和JDBC驱动程序。Calcite不存储数据或具有首选执行引擎。数据格式,执行算法,规划规则,运算符类型,元数据和成本模型在运行时作为插件添加。
11 Apache Chukwa
Chukwa是一个用于监控大型分布式系统的开源数据收集系统。Chukwa构建于Hadoop分布式文件系统(HDFS)和Map / Reduce框架之上,并继承了Hadoop的可扩展性和健壮性。Chukwa还包括一个灵活而强大的工具包,用于显示,监控和分析结果,以充分利用收集的数据。
12 Apache CouchDB
Apache CouchDB是一个完全包含Web的数据库。使用JSON文档存储数据。使用Web浏览器通过HTTP访问您的文档。使用JavaScript查询,组合和转换文档。Apache CouchDB适用于现代Web和移动应用程序。您甚至可以直接从Apache CouchDB中提供Web应用程序。您可以使用Apache CouchDB的增量复制有效地分发您的数据或应用程序。Apache CouchDB支持具有自动冲突检测的主 - 主设置。
13 Apache Crunch
Apache Crunch Java库提供了一个用于编写,测试和运行MapReduce管道的框架。它的目标是使由许多用户定义函数组成的流水线易于编写,易于测试和高效运行。
Apache Crunch™库运行在Hadoop MapReduce和Apache Spark之上,是一个简单的Java API,用于加入和数据聚合等在平面MapReduce上实现繁琐的任务。在处理不适合关系模型的数据时,API尤其有用,例如时间序列,序列化对象格式(如协议缓冲区或Avro记录)以及HBase行和列。对于Scala用户,有Scrunch API,它基于Java API构建,并包含用于创建MapReduce管道的REPL(读取 - 评估 - 打印循环)。
14 Apache DataFu(孵化)
Apache DataFu由两个库组成:Apache DataFu Pig是Apache Pig中用于数据分析的有用的用户定义函数的集合。
Apache DataFu Hourglass是一个使用Apache Hadoop MapReduce逐步处理数据的库。该库的灵感来自于对日常跟踪数据的滑动窗口计算的预测。诸如这些的计算通常以规则的间隔(例如,每天,每周)发生,因此计算的滑动性质意味着大部分工作被不必要地重复。创建DataFu的沙漏是为了使这些计算更有效,有时可以减少50-95%的计算资源。
15 Apache DirectMemory(在Attic中)
Apache DirectMemory是Java虚拟机的堆外缓存
16 Apache Drill
Apache Drill是一个分布式MPP查询层,支持针对NoSQL和Hadoop数据存储系统的SQL和替代查询语言。它的灵感部分来自谷歌的Dremel。
17 Apache Edgent(孵化)
Apache Edgent是一种编程模型和微内核样式运行时,可嵌入网关和小型边缘设备中,实现对来自设备,车辆,系统的连续数据流的本地实时分析,各种器具,设备和传感器(例如,覆盆子Pis或智能手机)。Apache Edgent与集中分析系统配合使用,可在整个物联网生态系统中提供高效,及时的分析:从中心到边缘。
18 Apache Falcon
Apache Falcon是Hadoop的数据处理和管理解决方案,专为数据移动,数据管道协调,生命周期管理和数据发现而设计。Falcon使最终消费者能够在Hadoop集群上快速加载其数据及其相关的处理和管理任务。
19 Apache Flink
Flink是一个用于表达,声明,快速和高效数据分析的开源系统。它将分布式MapReduce类平台的可扩展性和编程灵活性与并行数据库中的效率,核外执行和查询优化功能相结合。
20 Apache Flume
Apache Flume是一个分布式,可靠且可用的系统,用于有效地从许多不同的源收集,聚合和移动大量日志数据到集中式数据存储
21 Apache Giraph
Apache Giraph是一个为高可扩展性而构建的迭代图形处理系统。例如,它目前在Facebook上用于分析用户及其连接形成的社交图。
22 Apache Hadoop
Apache™Hadoop®项目开发了用于可靠,可扩展的分布式计算的开源软件。
23 Apache Hama
Apache Hama是一种高效且可扩展的通用BSP计算引擎,可用于加速各种计算密集型分析应用程序。
24 Apache HAWQ
Apache HAWQ是一个Hadoop本机SQL查询引擎,它结合了MPP数据库的关键技术优势和Hadoop的可扩展性和便利性。
25 Apache Helix
Apache Helix是一个通用的集群管理框架,用于自动管理节点集群上托管的分区,复制和分布式资源。Helix在面对节点故障和恢复,集群扩展和重新配置时自动重新分配资源。
26 Apache Ignite
Apache Ignite内存数据结构旨在为从高性能计算到业界最先进的数据网格,内存中SQL,内存文件系统的各种内存计算用例提供无与伦比的性能,流式传输等。
27 Apache Kafka
单个Kafka代理可以处理来自数千个客户端的每秒数百兆字节的读写操作。Kafka旨在允许单个群集充当大型组织的中央数据主干。它可以弹性和透明地扩展,无需停机。数据流被分区并分布在一组机器上,以允许数据流大于任何一台机器的能力,并允许协调的消费者群集。Kafka采用现代以集群为中心的设计,提供强大的耐用性和容错保证。消息将保留在磁盘上并在群集中进行复制,以防止数据丢失。每个代理都可以处理数TB的消息,而不会影响性能。
28 Apache Knox
Apache Knox Gateway是一个REST API网关,用于与Hadoop集群进行交互。
Knox Gateway为所有与Hadoop集群的REST交互提供单一访问点。
在这种能力下,诺克斯网关能够提供有价值的功能来帮助控制,
集成,监控和自动化企业的关键管理和分析需求。
身份验证(LDAP和Active Directory身份验证提供程序)联合/ SSO(基于HTTP标头的身份联合)授权(服务级别授权)审核虽然不安全的Hadoop群集有许多好处,
Knox Gateway也很好地补充了kerberos安全集群。
加上Kerberos安全Hadoop集群的正确网络隔离,
Knox Gateway为企业提供以下解决方案:
与企业身份管理解决方案完美集成保护Hadoop集群部署的详细信息(主机和端口对最终用户隐藏)简化客户端与之交互所需的服务数量
29 Apache Kudu
Kudu提供快速插入/更新和高效柱状扫描的组合,可在单个存储层上实现多个实时分析工作负载。
30 Apache Lens
Lens提供统一分析界面。Lens旨在通过提供跨多个分层数据存储的单一数据视图和分析查询的最佳执行环境来削减数据分析孤岛。它将Hadoop与传统数据仓库无缝集成,看起来就像一个。
31 Apache MetaModel
使用MetaModel,您可以获得许多非常不同的数据存储类型的统一连接器和查询API,包括:关系(JDBC)数据库,CSV文件,Excel电子表格,XML文件,JSON文件,固定宽度文件,MongoDB,Apache CouchDB,Apache HBase,Apache Cassandra,ElasticSearch,OpenOffice.org数据库,Salesforce.com,SugarCRM甚至普通旧Java对象(POJO)的集合。
MetaModel不是数据映射框架。相反,它强调元数据的抽象和在运行时添加数据源的能力,使MetaModel非常适用于通用数据处理应用程序,对于围绕特定域建模的应用程序则更少。
32 Apache Metron
Apache Metron提供可扩展的高级安全分析框架,该框架使用从Cisco OpenSOC项目演变而来的Hadoop社区构建。一种网络安全应用程序框架,使组织能够检测网络异常并使组织能够快速响应已识别的异常情况。
33 Apache Oozie
Oozie是一个用于管理Apache Hadoop作业的工作流程调度程序系统。Oozie与Hadoop堆栈的其余部分集成,支持多种类型的Hadoop作业(例如Java map-reduce,Streaming map-reduce,Pig,Hive,Sqoop和Distcp)以及系统特定的工作(例如Java程序和shell脚本)。
34 Apache ORC
ORC是一种自描述类型感知的列式文件格式,专为Hadoop工作负载而设计。它针对大型流式读取进行了优化,但具有快速查找所需行的集成支持。以列式格式存储数据使读者只能读取,解压缩和处理当前查询所需的值。
35 Apache Parquet
Apache Parquet是一种通用的列式存储格式,专为Hadoop而构建,可与任何数据处理框架,数据模型或编程语言一起使用。
36 Apache Phoenix
Apache Phoenix通过提供利用Apache HBase作为其后备存储的关系数据库层,为Apache Hadoop提供OLTP和运营分析。它包括与Apache Spark,Pig,Flume,Map Reduce以及Hadoop生态系统中的其他产品的集成。它作为JDBC驱动程序访问,并允许通过标准SQL查询,更新和管理HBase表。
37 Apache REEF
Apache REEF(可保留评估程序执行框架)是一个开发框架,它提供了一个控制平面,用于调度和协调从资源管理器获取的集群资源的任务级(数据平面)工作。REEF提供了促进数据缓存资源重用的机制,以及状态管理抽象,极大地简化了支持Resource Manager服务的云平台上弹性数据处理工作流的开发。
38 Apache Samza
Apache Samza提供了一个系统,用于处理来自Apache Kafka等发布 - 订阅系统的流数据。开发人员编写流处理任务,并将其作为Samza作业执行。然后,Samza在流处理任务和消息所针对的发布 - 订阅系统之间路由消息。
39 Apache Spark
Apache Spark是一种用于大规模数据处理的快速通用引擎。它提供Java,Scala和Python中的高级API以及丰富的库,包括流处理,机器学习和图形分析。
40 Apache Sqoop
Apache Sqoop(TM)是一种工具,用于在Apache Hadoop和结构化数据存储(如关系数据库)之间高效传输批量数据。
41 Apache Storm
Apache Storm是一个分布式实时计算系统。类似于Hadoop如何提供一组用于进行批处理的通用基元,Storm提供了一组用于进行实时计算的通用基元。
42 Apache Tajo
Apache Tajo项目的主要目标是在Hadoop中构建一个高级开源数据仓库系统,用于处理Web规模的数据集。基本上,Tajo提供SQL标准作为查询语言。Tajo专为存储在HDFS和其他数据源上的数据集进行交互式和批量查询而设计。在不损害查询响应时间的情况下,Tajo提供了容错和动态负载平衡,这是长时间运行查询所必需的。Tajo采用基于成本的渐进式查询优化技术来重新优化运行查询,以避免最糟糕的查询计划。
43 Apache Tez
Apache Tez致力于开发通用应用程序框架,该框架可用于处理数据处理任务的任意复杂的有向无环图(DAG),以及可用于可重用的一组数据处理原语。通过其他项目。它目前在Apache Hadoop YARN上面构建。
44 Apache VXQuery
Apache VXQuery将是一个用Java实现的符合标准的XML查询处理器。重点是评估对大量XML数据的查询。具体而言,目标是评估大型相对较小的XML文档集合上的查询。为了实现此目的,将在无共享机器的集群上评估查询。
45 Apache Zeppelin
Zeppelin是一个基于Web的现代工具,供数据科学家在大规模数据探索和可视化项目上进行协作。