简体   繁体   English

从hbase读取数据,工作人员是否需要从远程驱动程序获取分区数据?

[英]spark read data from hbase, did workers need to get paritions data from remote driver program?

spark read data from hbase,such as //create rdd 火花从hbase读取数据,例如// create rdd

val hBaseRDD = sc.newAPIHadoopRDD(conf, classOf[TableInputFormat], 
  classOf[org.apache.hadoop.hbase.io.ImmutableBytesWritable],
  classOf[org.apache.hadoop.hbase.client.Result])

for example, hBaseRDD has 5 partitions, now executor on worker get partition data to compute, they must get data from remote driver program? 例如,hBaseRDD有5个分区,现在工作程序的执行程序获取分区数据进行计算,它们必须从远程驱动程序获取数据吗? (not like read from hdfs, each worker as hadoop slave has the hdfs file replication) (不像从hdfs读取的那样,作为hadoop从属的每个工作程序都有hdfs文件复制)

Spark与HBase集成在一起,数据局部性原理与Hadoop map-reduce作业中的相同:spark将尝试将输入分区(hbase区域)分配给同一物理计算机上的工作器,因此无需远程驱动程序即可直接获取数据。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM