除 Apache Spark 外的三种新兴开源数据分析工具

简介:

在数据分析方面,影响深远的变化正在酝酿之中,而开源工具在引领许多变化。当然,你可能已熟悉这个领域的一些明星开源项目,比如Hadoop和Apache Spark,不过现在出现了强烈的要求,需要全面完善数据分析生态系统的新工具。值得注意的是,许多这些工具是为了处理流数据而定制的。

物联网带来了众多传感器及其他设备,它们在生成源源不断的数据流,而物联网只是推动市场需要新型分析工具的重大趋势之一。需要流数据分析工具来改善药物发现,美国宇航局和搜寻外星文明研究所(SETI)甚至在开展合作,分析数TB复杂的外太空无线电信号流。

虽然Apache Spark在数据分析领域抢走了许多风头,那是由于IBM及其他公司在这方面投入了数十亿美元的研发资金,但几个藉藉无名的开源项目也在迅速崛起。下面是值得探讨的三种新兴的数据分析工具。

1.Grappa

大大小小的企业组织正在致力于研究从数据流提取宝贵信息的新方法,其中许多在处理集群上生成的数据,而且在日益处理商用硬件上生成的数据。这样一来,成本合理的、以数据为中心的方法受到了重视,这种方法可以改善MapReduce、甚至Spark等工具的性能和功能。Grappa开源项目这时候闪亮登场了,它可以在大众化集群上扩展数据密集型应用程序,并且提供了一种新型的抽象机制,比经典的分布式共享内存(DSM)系统更胜一筹。

image

你可以在此(http://grappa.io)获得Grappa的源代码,并找到关于它的更多信息。Grappa的起源是这样的:一群在克雷(Cray)系统上运行大数据任务方面有着丰富经验的工程师想,是不是可以与克雷系统在现成商用硬件上能够实现的分析功能一较高下。

正如开发人员特别指出:“Grappa在足够高级的层面提供了抽象,因而包括数据密集型平台所常见的许多性能优化。然而,其相对低级的接口又提供了一种方便的抽象,以便在此基础上构建数据密集型框架。(简化版)MapReduce、GraphLab和关系查询引擎的原型实现就建立在Grappa的基础上,它们的性能比原有系统更胜一筹。”

采用BSD许可证的Grappa在GitHub上可以免费获取。如果你有兴趣看看Grappa是怎么实际运行的,可以在应用程序的README文件中遵照通俗易懂的快速启动说明,构建Grappa应用程序,并在集群上运行。想了解如何编写自己的Grappa应用程序,不妨阅读这个教程。

2.Apache Drill

Apache Drill项目在大数据领域带来了重大的影响,以至于MapR等公司甚至把它纳入到其Hadoop发行版中。它是Apache的一个顶级项目,与Apache Spark一同应用于许多流数据场景。

image

比如说,在今年1月份召开的纽约Apache Drill大会上,MapR的系统工程师展示了Apache Spark和Drill如何可以协同用于涉及数据包捕获和近实时查询及搜索的一种使用场合下。

Drill在流数据应用程序中之所以如此出名,是因为它是一种分布式、无模式(schema-free)的SQL引擎。开发运维和IT人员可以使用Drill,以交互方式探索Hadoop及其他NoSQL数据库(比如HBase和MongoDB)中的数据。不需要明确定义和维护模式,因为Drill可以自动充分利用嵌入到数据中的结构。它能够在操作员之间的内存中流式传输数据,并且尽量减少使用完成查询所需的磁盘。

3.Apache Kafka

Apache Kafka项目已凭借实时数据跟踪功能俨然成为一颗明星。它提供了处理实时数据的功能,具有统一、高吞吐量、低延迟等优点。Confluent及其他组织还开发了自定义工具,以便Kafka与数据流结合使用。

image

Apache Kafka最初由LinkedIn开发,后来在2011年年初开放了源代码。它是一种经过加固和测试的工具,许多企业组织要求员工拥有Kafka方面的知识。使用Kafka的知名公司包括思科、网飞、贝宝、优步和Spotify。

LinkedIn当初开发Kafka的那些工程师还成立了Confluent,它专注于Kafka。Confluent大学为Kafka开发人员以及操作员/管理员提供培训课程。现场课程和公开课程都有提供。

你是否对比较藉藉无名、但迅速崛起的开源数据分析项目有兴趣?如果是这样,你可以在我最近撰写的关于这个话题的一篇文章中找到更多此类项目。

相关文章
|
20天前
|
消息中间件 数据挖掘 Kafka
Apache Kafka流处理实战:构建实时数据分析应用
【10月更文挑战第24天】在当今这个数据爆炸的时代,能够快速准确地处理实时数据变得尤为重要。无论是金融交易监控、网络行为分析还是物联网设备的数据收集,实时数据处理技术都是不可或缺的一部分。Apache Kafka作为一款高性能的消息队列系统,不仅支持传统的消息传递模式,还提供了强大的流处理能力,能够帮助开发者构建高效、可扩展的实时数据分析应用。
64 5
|
23天前
|
机器学习/深度学习 并行计算 数据挖掘
R语言是一种强大的统计分析工具,广泛应用于数据分析和机器学习领域
【10月更文挑战第21天】R语言是一种强大的统计分析工具,广泛应用于数据分析和机器学习领域。本文将介绍R语言中的一些高级编程技巧,包括函数式编程、向量化运算、字符串处理、循环和条件语句、异常处理和性能优化等方面,以帮助读者更好地掌握R语言的编程技巧,提高数据分析的效率。
38 2
|
23天前
|
数据采集 数据可视化 数据挖掘
R语言与Python:比较两种数据分析工具
R语言和Python是目前最流行的两种数据分析工具。本文将对这两种工具进行比较,包括它们的历史、特点、应用场景、社区支持、学习资源、性能等方面,以帮助读者更好地了解和选择适合自己的数据分析工具。
24 2
|
29天前
|
分布式计算 大数据 Apache
利用.NET进行大数据处理:Apache Spark与.NET for Apache Spark
【10月更文挑战第15天】随着大数据成为企业决策和技术创新的关键驱动力,Apache Spark作为高效的大数据处理引擎,广受青睐。然而,.NET开发者面临使用Spark的门槛。本文介绍.NET for Apache Spark,展示如何通过C#和F#等.NET语言,结合Spark的强大功能进行大数据处理,简化开发流程并提升效率。示例代码演示了读取CSV文件及统计分析的基本操作,突显了.NET for Apache Spark的易用性和强大功能。
36 1
|
1月前
|
存储 数据挖掘 数据处理
Apache Paimon 是一款高性能的数据湖框架,支持流式和批处理,适用于实时数据分析
【10月更文挑战第8天】随着数据湖技术的发展,越来越多企业开始利用这一技术优化数据处理。Apache Paimon 是一款高性能的数据湖框架,支持流式和批处理,适用于实时数据分析。本文分享了巴别时代在构建基于 Paimon 的 Streaming Lakehouse 的探索和实践经验,包括示例代码和实际应用中的优势与挑战。
63 1
|
3月前
|
Java 持续交付 项目管理
Maven是一款基于Apache许可的项目管理和构建自动化工具,在Java开发中极为流行。
Maven是一款基于Apache许可的项目管理和构建自动化工具,在Java开发中极为流行。它采用项目对象模型(POM)来描述项目,简化构建流程。Maven提供依赖管理、标准构建生命周期、插件扩展等功能,支持多模块项目及版本控制。在Java Web开发中,Maven能够自动生成项目结构、管理依赖、自动化构建流程并运行多种插件任务,如代码质量检查和单元测试。遵循Maven的最佳实践,结合持续集成工具,可以显著提升开发效率和项目质量。
52 1
|
3月前
|
SQL 数据挖掘 关系型数据库
|
4月前
|
人工智能 数据挖掘 Python
提升办公生产力工具——AI数据分析应用小浣熊
办公小浣熊广泛应用于日常数据分析、财务分析、商业分析、销售预测、市场分析等多个领域,为用户提供了强大的支持。
提升办公生产力工具——AI数据分析应用小浣熊
|
3月前
|
分布式计算 Hadoop 大数据
大数据处理框架在零售业的应用:Apache Hadoop与Apache Spark
【8月更文挑战第20天】Apache Hadoop和Apache Spark为处理海量零售户数据提供了强大的支持
64 0
|
3月前
|
分布式计算 Serverless 数据处理
EMR Serverless Spark 实践教程 | 通过 Apache Airflow 使用 Livy Operator 提交任务
Apache Airflow 是一个强大的工作流程自动化和调度工具,它允许开发者编排、计划和监控数据管道的执行。EMR Serverless Spark 为处理大规模数据处理任务提供了一个无服务器计算环境。本文为您介绍如何通过 Apache Airflow 的 Livy Operator 实现自动化地向 EMR Serverless Spark 提交任务,以实现任务调度和执行的自动化,帮助您更有效地管理数据处理任务。
204 0

推荐镜像

更多