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

时间:2017-07-28 02:51:57

标签: hadoop apache-spark hbase

从hbase中读取数据,例如 //创建rdd

val hBaseRDD = sc.newAPIHadoopRDD(conf, classOf[TableInputFormat], 
  classOf[org.apache.hadoop.hbase.io.ImmutableBytesWritable],
  classOf[org.apache.hadoop.hbase.client.Result])
例如,hBaseRDD有5个分区,现在执行者在worker上获取分区数据来计算,他们必须从远程驱动程序中获取数据吗? (不像从hdfs中读取,每个worker都作为hadoop slave具有hdfs文件复制)

1 个答案:

答案 0 :(得分:0)

Spark与HBase集成,数据位置原则与Hadoop map-reduce作业相同:spark将尝试将输入分区(hbase区域)分配给同一物理机器上的worker,因此数据将直接获取远程司机。