2017-07-28 45 views
0

火花读取HBase的数据,如 //创建RDDspark从hbase读取数据,工作人员是否需要从远程驱动程序获取paritions数据?

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

例如,hBaseRDD有5个分区,现在执行的工人获取分区中的数据来计算,他们必须从远程驱动程序的数据? (不像从hdfs读取,每个工作者作为hadoop奴隶有hdfs文件复制)

回答

0

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

相关问题