[HBase]往 HBase 导入数据的几种操作

往 HBase 导入数据的几种操作

文章目录

一、前言

二、利用ImportTsv将csv文件导入到HBase

三、利用completebulkload将数据导入到HBase

四、利用Import将数据导入到HBase

一、前言

HBase作为Hadoop DataBase,除了使用put进行数据导入之外,还有以下几种导入数据的方式:

(1)使用importTsv功能将csv文件导入HBase;

(2)使用import功能,将数据导入HBase;

(3)使用BulkLoad功能将数据导入HBase。

二、利用ImportTsv将csv文件导入到HBase

simple.csv内容如下:

创建文件

格式:

命令:

上传文件

创建表

执行mapreduce

查看是否成功导入

三、利用completebulkload将HFile格式数据导入到HBase

HBase支持bulkload的入库方式,它是利用hbase的数据信息按照特定格式存储在hdfs内这一原理,直接在HDFS中生成持久化的HFile数据格式文件,然后上传至合适位置,即完成巨量数据快速入库的办法。配和mapreduce完成,高效便捷,而且不占用region资源,增添负载,在大数据量写入时,能极大的提高写入效率,并降低对HBase节点的写入压力。

通过使用先生成HFile,然后再BulkLoad到HBase的方式来替代之前直接调用HTableOutputFormat的方法有如下的好处:

1、消除了对HBase集群的插入压力

2、提高了Job的运行速度,降低了Job的执行时间

利用completebulkload将数据导入到HBase

1、先通过lmportTsv生成HFile

将csv导入为hfile文件

以上的指令,它会主动创建表tb2和文件夹hfile-tmp(此文件夹必须不能事先存在)。

将hfile数据以增量的方式导入表 tb2, 对应的hfile也会被移动到相应的hbase表的目录下

验证

四、利用Import将Sequence File格式的数据导入到HBase

1、HBase export工具导出的数据的格式是sequence file。

比如,在执行完命令bin/hbase org.apache.hadoop.hbase.mapreduce.Export 之后,hbase会启动一个MapReduce作业,作业完成后会在hdfs上面会生成sequence file格式的数据文件。

2、对于这类Sequence file格式的数据文件,HBase是可以通过Import工具直接将它导入到HBase的表里面的。

将数据导出到hdfs中, 格式为sequence file,

创建新表

导入到hbase (导入后, 源sequence file仍然存在, 如需删除需要手动删除)

验证

Views: 459

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注