gpt4 book ai didi

hadoop - Spark、Hadoop 和 Cassandra 之间是什么关系

转载 作者:可可西里 更新时间:2023-11-01 14:07:35 33 4
gpt4 key购买 nike

我的理解是 Spark 是 Hadoop 的替代品。但是,在尝试安装 Spark 时,安装页面要求安装现有的 Hadoop。我找不到任何可以阐明这种关系的东西。

其次,Spark 显然与 Cassandra 和 Hive 具有良好的连接性。两者都有 sql 风格的界面。但是,Spark 有自己的 sql。为什么要使用 Cassandra/Hive 而不是 Spark 的原生 sql?假设这是一个没有现有安装的全新项目?

最佳答案

Spark 是一种分布式内存处理引擎。它不需要与 Hadoop 配对,但由于 Hadoop 是最流行的大数据处理工具之一,Spark 被设计为在该环境中运行良好。例如,Hadoop使用HDFS(Hadoop分布式文件系统)来存储它的数据,因此Spark可以从HDFS读取数据,并将结果保存到HDFS。

为了提高速度,Spark 将其数据集保存在内存中。它通常会通过从持久存储(例如 HDFS、Hbase、Cassandra 数据库等)加载数据来启 Action 业。一旦加载到内存中,Spark 就可以对数据集运行许多转换以计算所需的结果。然后,最终结果通常会写回持久存储。

作为 Hadoop 的替代品,它在某些操作上可能比 Hadoop 快得多。例如,由于避免了 Hadoop 的大部分磁盘 I/O,Spark 中的多 channel map reduce 操作可以比 Hadoop map reduce 快得多。 Spark 可以读取为 Apache Hive 格式化的数据,因此 Spark SQL 可以比使用 HQL(Hive 查询语言)快得多。

Cassandra 有自己的本地查询语言,称为 CQL(Cassandra 查询语言),但它只是完整 SQL 的一小部分,对于聚合和临时查询等事情来说非常差。因此,当 Spark 与 Cassandra 配对时,它提供了一种功能更丰富的查询语言,并允许您进行原生 CQL 无法提供的数据分析。

Spark 的另一个用例是流处理。 Spark 可以设置为摄取传入的实时数据并以微批处理的方式处理,然后将结果保存到持久存储中,例如 HDFS、Cassandra 等。

所以 spark 实际上是一个独立的内存系统,可以与许多不同的分布式数据库和文件系统配对以增加性能、更完整的 SQL 实现以及它们可能缺少的功能,例如流处理。

关于hadoop - Spark、Hadoop 和 Cassandra 之间是什么关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31090387/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com