【技术实现步骤摘要】
本专利技术涉及数据处理
,尤其涉及一种基于HFile批量加载数据的方法。
技术介绍
随着网络技术的飞速发展,数据量的急速增长,为了分析和利用这些庞大的数据资源,传统的技术已然遇到了巨大的障碍,无法胜任大数据分析的任务。而为了满足大数据分析的要求,Google提出了MapReduce(映射化简)技术,它是一种面向大规模数据分析处理和并行计算的编程模型。HBase(Hadoop Database)是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,HBase可以作为MapReduce的数据来源和数据目的地,从而使得MapReduce能够处理HBase中保存的数据或者将输出数据保存在HBase中。当HBase作为MapReduce的数据目的地时,可采用HBase中自带的数据导入工具,但是由于HBase中自带的数据导入工具有一定的局限性,它不能使用户完全控制数据加载过程,并且不能自定义数据加载的预期格式。因此,加载具有特定格式的HBase加载数据的导入方法是非常重要的。目前批量加载数据到HBase数据库最高效的方式如CN20131058470.2公开的一种HBase加载数据的导入方法,其首先根据实际数据对HBase表的Region(分区)进行预分,然后编写MapReduce程序将源数据转换为HFile文件,每个Region对应一个HFile文件,最后利用completebulkload命令将HFile文件加载到HBase。上述方法可以将生成好的HFile文件直接加载进运行中的HBase集群,减少了在数据迁移过程中数据传输的网络流量,提高了数据导入效率, ...
【技术保护点】
一种基于HFile批量加载数据的方法,其特征在于,包括:预分分区Region,形成与HFile文件一一对应的多个分区Region;读取源数据记录,分别确定每一条源数据记录需写入的HFile文件,并将源数据记录写入其对应的HFile文件;对已完成源数据记录写入的HFile文件加载至其对应的分区Region。
【技术特征摘要】
1.一种基于HFile批量加载数据的方法,其特征在于,包括:预分分区Region,形成与HFile文件一一对应的多个分区Region;读取源数据记录,分别确定每一条源数据记录需写入的HFile文件,并将源数据记录写入其对应的HFile文件;对已完成源数据记录写入的HFile文件加载至其对应的分区Region。2.根据权利要求1所述的方法,其特征在于,读取源数据记录,分别确定每一条源数据记录需写入的HFile文件,并将源数据记录写入其对应的HFile文件包括:读取源数据记录,分别确定每一条源数据记录对应的HFile文件的文件名;根据所述文件名将源数据记录向各自对应的HFile文件写入。3.根据权利要求2所述的方法,其特征在于,将源数据记录写入其对应的HFile文件后,将所述HFile文件存储到自定义目录。4.根据权利要求3所述的方法,其特征在于,预分分区Region,形成与HFile文件一一对应的多个分区Region包括:预分分区Region,形成行主键RowKey自增的多个分区Region。5.根据权利要求4所述的方法,其特征在于,所述预分分区Region,形成行主键RowKey自增的多个分区Region包括:根据源数据的总数据量确定预分分区Region个数及大小;采用源数据中自增的ID作为分区Region的行主键RowKey。6.根据权利要求5所述的方法,其特征在于,读取源数据记录,分别确定每一条源数据记录对应的HFile文件的文件名包括:在map的setup方法中获取所有分区Region的起始键值StartKey和终止键值EndKey,生成起始键值StartKey和终止键值EndKey集合,并定义endKey变量;读取一条源数据记录后,判断endKey变量的值是否为空;若判断结果为endKey变量的值为空,则判断当前读取的源数据记录中的所述自增的ID是否在某个Region的起始键值StartKey和终止键值EndKey之间,如果当前读取的源数据记录中的所述自增的ID处于某个Region的起始键值StartKey和终止键值EndKey之间,则将当前读取的源数据记录中的endKey变量赋值为该Region的终止键值EndKey,并判断当前读取的源数据记录中的所述自增的ID是否等于endKey变量的值;若当前读取的源数据记录中的所述自增的ID等于endKey变量的值,则说明当前
\t读取的源数据记录已不属于该Region而属于该Region的下一个Region,将endKey赋值更新为该Region的下一个Region的EndKey,由此获得与该Region的下一个Region对应的HFile文件的文件名。7.根据权利要求6所述的方法,其特征在于,若判断结果为endKey变量的值不为空,则判断当前读取的源数据记录中的所述自增的ID是否等于endKey变量的值...
【专利技术属性】
技术研发人员:谢忠贤,浦世亮,周明耀,
申请(专利权)人:杭州海康威视数字技术股份有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。