数据来源
- logs
- RDBMS
ways of move data into HBase
- HBase put API
- HBase bulk load tool
- 自定义MR job
最常见的 - RDBMS抽取数据
- JDBC,通用,实时性(全量/增量)
- HBase插入数据
- 多线程,通用
- kettle
import TSV
- 使用bulkload讲file装换成HFile后再上传:通常MapReduce在写HBase时使用的是tableOutPutFormat方式,在reduce中直接生成put对象写入HBase,该方式在大量的数据写入时效率低下,频繁使用flush,split,compact等大量I/O操作,并对HBase节点的稳定性造成一定影响,(GC时间过长,相应变慢,到直接点超时退出,引起一系列连锁反应)
- HBase支持bulk load的入库方式,是利用HBase的数据信息按照特定格式存储在HDFS上的这一原理,直接在HDFS中生成持久化的HFile数据格式文件上传,即完成巨量数据快速入库的办法,配合MR使用,快捷高效,而且不占用region的资源,降低对HBase节点的压力
- 消除了HBase集群的插入压力
- 提高了job的运行速度