Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop 阿帕奇·卡桑德拉VS火花VS蜂巢VS风暴_Hadoop_Apache Spark_Cassandra_Hive_Apache Storm - Fatal编程技术网

Hadoop 阿帕奇·卡桑德拉VS火花VS蜂巢VS风暴

Hadoop 阿帕奇·卡桑德拉VS火花VS蜂巢VS风暴,hadoop,apache-spark,cassandra,hive,apache-storm,Hadoop,Apache Spark,Cassandra,Hive,Apache Storm,我个人理解每一个是什么,但我很难理解用例中的差异 能否简单描述一下每一个是什么,以及何时可以选择一个而不是其他的用例 我的理解是Spark和Cassandra甚至不具有可比性,但我的同事认为他们是同一物种 作为大数据领域的新手,如果这是一个严格的意见/偏好基础,我会提前道歉。如果是的话,请告诉我,我会记下这个问题 在列表中,Cassandra是唯一的数据库。Hive是Hadoop上的SQL执行引擎。SparkSQL提供了相同的查询语言,但Spark更适用于流媒体和机器学习等其他用例。Storm是

我个人理解每一个是什么,但我很难理解用例中的差异

能否简单描述一下每一个是什么,以及何时可以选择一个而不是其他的用例

我的理解是Spark和Cassandra甚至不具有可比性,但我的同事认为他们是同一物种


作为大数据领域的新手,如果这是一个严格的意见/偏好基础,我会提前道歉。如果是的话,请告诉我,我会记下这个问题

在列表中,Cassandra是唯一的数据库。Hive是Hadoop上的SQL执行引擎。SparkSQL提供了相同的查询语言,但Spark更适用于流媒体和机器学习等其他用例。Storm是一个实时流处理框架;Spark进行微批量处理,Storm立即处理消息。(顺便说一句,我觉得Storm是一个古老的框架。有人告诉我,与Flink合作比与Storm合作更好。Heron的目标是成为Storm的下一代。)

Spark最适用于具有大量内存的系统。Hive可以通过使用SQL优化(如分区修剪、谓词下推以及对ORC或Parquet的列格式进行操作)来处理比Spark或Cassandra更多的原始数据

Spark与Cassandra的工作原理与Hive相同,但是,更多的实时用例将希望使用Cassandra,因为Hive查询必须启动MapReduce/Tez执行,这需要几秒钟的时间,而正确的Cassandra数据模型需要几毫秒的时间

卡桑德拉非常关注数据模型。。。没有理由不能将数据转储到Hadoop/Hive中,然后导出到Cassandra模型。或者,您可以使用Hbase而不是Cassandra,并使用类似的模型,在可用性方面进行权衡(参见CAP定理)


如果您对Spark和Cassandra用例感兴趣,SMACK堆栈是流行的安装设置之一

风暴确实是一个古老的框架。只是想强调一下关于Heron的一些事情。(完全披露,我是Heron的共同创造者之一)。Heron在几个方面超越了风暴-

Heron引入了许多新想法,如背压、类似于微内核的模块化概念(用于不断变化的大数据环境)、隔离、本机容器化、基于进程而非基于线程的故障排除等

由于Twitter(开源的Storm)需要向后兼容,Heron开始使用Storm API,但添加了几个新的API。Streamlets是新引入的功能API,可以转换为物理执行的运算符

为Python添加了类似于Storm api的低级api。Streamlet函数API在Python中也可用。关键的优势是基于Python API的拓扑在本机Python解释器中运行并直接接收数据,这与Storm不同,Storm使用基于stdin/stdout的多语言协议,这会导致多个额外的进程,而且速度非常慢

已提供对基于YAML的拓扑支持。对C++、斯卡拉和GO等语言的附加本地支持即将到来。p> Heron可以在单个部署中支持不同的工作负载—对延迟敏感,对吞吐量敏感,只需在每个拓扑上进行简单的配置更改

Heron附带了名为ApacheBookKeeper的可选存储层,该存储层提供分布式复制日志。这为分发作业jar提供了无缝体验,还为一次处理提供了有状态存储

Heron可以在本机上支持多个调度器部署,如Kubernetes、DC/OS、Nomad和standalone,从而利用这些调度器功能

Heron根据其所经历的操作经验——拓扑的自动缩放和自我修复,开创了自我调节系统的工作


此外,它已经在多家公司大规模生产了3年多。

Spark不是一个数据库。你的同事不知道他们在说什么我同意@cricket_007 Spark绝对不是DB。Ppl说通常对Spark一无所知,对C表示应有的尊重!这当然让事情变得明朗了一点。那么,你是说基本上你不可能真正拥有火花本身(逻辑上)?必须有卡桑德拉、蜂巢、Hbase等。。除了spark,还需要实际存储数据吗?所以spark是compute only,而cassandra是compute+存储?我理解对了吗?Spark是计算机的,对。您需要将其与一些存储层配对以持久化结果。HDFS和S3是常见的文件系统。Hive和Cassandra是常见的结构化存储系统,它们支持来自外部系统的类似SQL的查询,用于其他处理。即使这个问题很广泛,应该关闭,我还是对你的答案投了赞成票,因为你说Spark不是数据库。