hadoop - 使用 HBASE 的 Spark 与使用 HDFS 的 Spark

标签 hadoop apache-spark hbase hdfs

我知道HBASE是一个列式数据库,将表的结构化数据按列而不是按行存储到HDFS中。我知道 Spark 可以从 HDFS 读取/写入,并且有一些用于 Spark 的 HBASE 连接器现在也可以读写 HBASE 表。

问题:

1) 在 HBASE 之上分层 Spark 而不是单独使用 HBASE 带来了哪些附加功能?这仅取决于程序员的能力,或者是否有任何性能理由这样做?有没有 Spark 可以做而 HBASE 不能做的事情?

2) 源于上一个问题,什么时候应该在 HDFS 和 SPARK 之间添加 HBASE 而不是直接使用 HDFS?

最佳答案

1) What are the added capabilities brought by layering Spark on top of HBASE instead of using HBASE solely? It depends only on programmer capabilities or is there any performance reason to do that? Are there things Spark can do and HBASE solely can't do?

在 Splice Machine,我们使用 Spark 在 HBase 之上进行分析。 HBase 没有执行引擎,spark 在 HBase 之上提供了一个有效的执行引擎(中间结果、关系代数等)。 HBase是MVCC存储结构,Spark是执行引擎。它们是彼此的天然补充。

2) Stemming from previous question, when you should add HBASE between HDFS and SPARK instead of using directly HDFS?

小读取、并发写入/读取模式、增量更新(大多数 etl)

祝你好运......

关于hadoop - 使用 HBASE 的 Spark 与使用 HDFS 的 Spark,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38930914/

相关文章:

amazon-web-services - 如何删除 Hive 默认分区值,__HIVE_DEFAULT_PARTITION__

scala - 如何在 Scala 案例类中转义减号

hadoop - 在 map/reduce 之间共享资源

hadoop - HDFS上的HBase更新操作

hbase - 如何用Java连接远程HBase?

hadoop - Hadoop 总是会在节点之间平均分配工作吗?

hadoop - 在Kubernetes上使用Hadoop

java - MapReduce 程序不在 main 和 mapper 之间共享字符串变量

scala - 斯坦福解析器的标记化很慢?

scala - 使用 spark-scala 删除数据框的最后一列