MapReduce生成HFile文件
1、前提:在对于大量的数据导入到HBase中,如果一条一条进行插入,则太耗时了,所以可以先采用MapReduce生成HFile文件,然后使用BulkLoad导入HBase中。
2、优点:如果我们一次性入库hbase巨量数据,处理速度慢不说,还特别占用Region资源,一个比较高效便捷的方法就是使用 “Bulk Loading”方法,即HBase提供的HFileOutputFormat类,它是利用hbase的数据信息按照特定格式存储在hdfs内这一原理,直接生成这种hdfs内存储的数据格式文件,然后上传至合适位置,即完成巨量数据快速入库的办法,配合mapreduce完成,高效便捷,而且不占用region资源,增添负载。
3、限制:仅适合初次数据导入,即表内数据为空,或者每次入库表内都无数据的情况,HBase集群与Hadoop集群为同一集群,即HBase所基于的HDFS为生成HFile的MR的集群。
4、具体案例分析
编写Mapreduce代码生成HFile:基于Gradle构建,配置build.gradle文件,编写HBaseHFileMapper.java以及设置JOB类,提到了导入HFile到HBase的实际操作。
5、将HDFS中的数据通过MapReduce产生HFile,然后将HFile导入到HBase:将Hadoop中普通文本格式的数据转化为可被HBase识别的HFile文件,HFile相当于Oracle中的DBF数据文件,将HFile载入到HBase中,该过程实际就是将数据从一个地移动到HBase某表数据的存放地。
6、MapReduce导入数据到HBase中:将数据从Hadoop中向HBase载入数据,该过程大致可以分为两步:将Hadoop中普通文本格式的数据转化为可被HBase识别的HFile文件,HFile相当于Oracle中的DBF数据文件,将HFile载入到HBase中,该过程实际就是将数据从一个地移动到HBase某表数据的存放地。
相关问答FAQs
1、问:MapReduce生成HFile文件并导入HBase的优点是什么?
答:MapReduce生成HFile文件并导入HBase的优点主要有两点:一是处理速度快,因为Bulk Loading方法可以一次性处理大量数据;二是不占用Region资源,不会增加负载。
2、问:MapReduce生成HFile文件并导入HBase的限制是什么?
答:MapReduce生成HFile文件并导入HBase的限制主要有两点:一是只适合初次数据导入,即表内数据为空,或者每次入库表内都无数据的情况;二是HBase集群与Hadoop集群必须为同一集群。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1100074.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复