【问题标题】:How spark writes to HBASEspark 如何写入 HBASE
【发布时间】:2018-07-01 03:24:39
【问题描述】:

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

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

【问题讨论】:

    标签: hadoop apache-spark hbase hdfs


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-02
      • 1970-01-01
      • 2016-02-28
      • 1970-01-01
      相关资源
      最近更新 更多