火花如何写入HBASE

时间:2018-01-22 13:20:42

标签: hadoop apache-spark hbase hdfs

我有一个Spark作业,它读取一些时间序列数据并使用HBASE客户端API将其推送到HBASE。我正在执行这个Spark工作 在10节点集群上。首先说当火花开始时它选择machine1,machine2,machine3作为执行者。现在,当作业向HBASE插入一行时。以下是我对它的作用的不足之处。

基于行键,将选择一个特定区域(来自META),该行将被推送到该RegionServer的memstore和WAL,一旦memestore已满,它将被刷新到磁盘。如果假设某个特定的话正在由machine2上的执行程序处理行,而处理要生成put的区域的regionserver在machine6上。数据是否会通过网络从machine2传输到machine6,然后数据将存储在machine6的memstore中。或者spark会在写入期间明智地在该机器上启动执行程序(如果打开动态分配)并推送它?

1 个答案:

答案 0 :(得分:1)

Spark不知道你的工作会发生什么,它不会在写入发生的同一节点上启动执行程序。数据将通过网络传输。