hbase数据导入导出工具使用

本文介绍了如何使用HBase的命令行工具ImportTsv和completebulkload进行数据导入导出。通过ImportTsv将CSV格式文本导入HBase表中,包括设置分隔符和列映射,以及数据导入后的验证。同时,文章还讲解了completebulkload方法,先生成HFile再挂载到表中,避免直接调用HBase API。
摘要由CSDN通过智能技术生成


hbase除了直接调用put接口将数据进行导入导出外,还提供了命令行工具来直接将特定格式的数据进行导入(或以特定格式将数据导出),

主要是利用org.apache.hadoop.hbase.mapreduce这个包里的接口:importTsv, completebulkload,import,export,

可以执行bin/hbase org.apache.hadoop.hbase.mapreduce.Driver 

bin/hbase org.apache.hadoop.hbase.mapreduce.importTsv 等命令查看详细说明。

./hbase org.apache.hadoop.hbase.mapreduce.Driver也可以实现hbase两个表之间的数据互导。

前提:看上面包名即知道,这些方法主要是利用的MR来进行数据导入导出的,因此首先将集群的MR开启。

1 利用ImportTsv将csv格式文本导入hbase表中:

步骤:

a 先在hbase上生成表,如:create 't1','f1'

b 将csv数据上传到hdfs上,数据内容如下:

a,1a,,3a,4a
b,,2b,3b,4b
,1c,2c,3c,4c

c 利用如下命令进行导入:

./hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.separator="," -Dimporttsv.columns=HBASE_ROW_KEY,f1:a,f1:b,f1:c,f1:d t1 hdfs://nnip:9000/f1

如果MR程序正确完成,表示导入成功,否则查看打印出的错误,找出原因。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
你可以使用Sqoop来将HBase数据导入到MySQL中,Sqoop是一个用于在Apache Hadoop和结构化数据存储(如Apache HBase和Apache Hive)之间传输数据工具。以下是一些步骤: 1. 确保你已经安装了Sqoop,并且已经配置好了HBase和MySQL的连接。 2. 创建一个HBase表并将数据存储在其中。 3. 将HBase表中的数据导出到一个文件中,可以使用以下命令: ``` $ hbase org.apache.hadoop.hbase.mapreduce.Export <tablename> <outputdir> <scan> ``` 其中\<tablename>是你要导出的表的名称,\<outputdir>是输出文件的目录,\<scan>是一个扫描器配置字符串,用于指定要导出数据范围。 4. 现在你有了一个包含HBase数据的文件,你可以使用Sqoop将其导入到MySQL中。以下是一个示例命令: ``` $ sqoop import --connect jdbc:mysql://<mysql-hostname>/<database> --username <username> --password <password> --table <tablename> --m 1 --fields-terminated-by '\t' --lines-terminated-by '\n' --null-string '\\N' --null-non-string '\\N' --input-fields-terminated-by '\t' --input-lines-terminated-by '\n' --input-null-string '\\N' --input-null-non-string '\\N' --target-dir <inputdir> ``` 其中\<mysql-hostname>是你的MySQL主机名,\<database>是你要导入数据数据库名称,\<username>和\<password>是你的MySQL用户名和密码,\<tablename>是你要导入数据的表的名称,\<inputdir>是包含你想要导入数据的目录。 请注意,这个命令使用了很多参数来指定输入和输出文件的格式,包括字段分隔符、行分隔符、空值字符串和空值非字符串。 5. 运行Sqoop命令后,数据将被导入到MySQL中。你可以使用MySQL客户端验证导入数据是否正确。 希望这些步骤对你有所帮助。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值