spark如何写入hbase

bttbmeg0  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(392)

我有一个spark作业,它读取一些timeseries数据并使用hbase客户端api将其推送到hbase。我在一个10节点的集群上执行这个spark作业。首先,当Spark启动时,它会选择machine1,machine2,machine3作为它的执行者。现在当作业向hbase插入一行时。下面是我对它的理解。
基于row键,将选择一个特定的区域(来自meta),该行将被推送到该区域服务器的memstore和wal中,一旦memestore满了,它将被刷新到磁盘中。现在,如果假设一个特定的行正由machine2上的执行器和处理put将要放入的区域的regionserver处理在机器上制造。数据将通过网络从machine2传输到machine6,然后存储在machine6的memstore中。或者spark会明智地在写入过程中启动该机器上的执行器(如果启用了动态分配)并将其推入?

8xiog9wr

8xiog9wr1#

spark不知道作业中发生了什么,它不会在发生写入的同一节点上启动执行器。数据将通过网络传输。

相关问题