一.数据加载方法
检查表的完整性是离线的,也就是检查表在HDFS的完整性,所以,首先hbck会从HDFS加载数据,源码的主要方法:
loadHdfsRegionDirs:加载HDFS的区域的目录,封装到HBCKinfo的HdfsEntry部分属性。
loadHdfsRegionInfos:加载和打开HDFS的regioninfo文件,获取regioninfo信息,更新hbckinfo对用的hdfentry的regioninfo信息。
二,数据加载源码分析
1.loadHdfsRegionDirs
根据HDFS的表的路径和其下的区域的路径,更新更新内存regioninfomap,如果hbckinfo信息之前在元和RS存在更新其HDFS信息,不存在新建。(此种情况是只含HDFS的信息)。
加载HDFS的区域的目录,封装到HBCKinfo的HdfsEntry部分属性。
2.loadHdfsRegionInfos
加载和打开HDFS的regioninfo文件,获取regioninfo信息,更新hbckinfo对用的hdfentry的regioninfo信息(这里指对HDFS存在区域路径的情况下,因为信息之来自于HDFS的路径,加载的regioninfomap)。
根据HDFS的表路径(该表下含有区域路径),HDFS的表路径(该表下不含有区域路径)更新tablesInfo的信息,其中包括根据HDFS的table.desc更新表的描述信息。
根据hbckinfo信息,填充SC集合(每一个表一个该集合),为了计算切分点。
————————————————
版权声明:本文为CSDN博主「shfshihuafeng」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/shfshihuafeng/article/details/90680897