做了一个有关于读取三张hbase表处理进行统一处理的项目:
(1)MR中读取多张表:TableMapReduceUtil.initTableMapperJob()支持对多张scan组成的list,每个scan是对每张表的浏览,其中scan又可以对表进行过滤类似于hbase。
<span style="font-size:14px;">List scans = new ArrayList<>();
Scan scan1 = new Scan();
scan1.setAttribute(Scan.SCAN_ATTRIBUTES_TABLE_NAME, "7111".getBytes());
scans.add(scan1);
Scan scan2 = new Scan();
scan2.setAttribute(Scan.SCAN_ATTRIBUTES_TABLE_NAME, "8111".getBytes());
scans.add(scan2);
Scan scan3 = new Scan();
scan3.setAttribute(Scan.SCAN_ATTRIBUTES_TABLE_NAME, "9111".getBytes());
scans.add(scan3);
TableMapReduceUtil.initTableMapperJob(scans, MyMapper.class, Text.class, Text.class, job);</span>
(2)在Hbase中不同的表有相同的行健,可以存在相同的列族