HBase表的数据导出和导入
1. 表数据导出
hbase org.apache.hadoop.hbase.mapreduce.Export test file:///home/hadoop/test (导入到本地)
hbase org.apache.hadoop.hbase.mapreduce.Export test /user/hadoop/test (导入到hdfs上)
#创建一个test表,一个列簇info
hbase(main):004:0* create 'test','info'
0 row(s) in 4.3820 seconds
=> Hbase::Table - test
hbase(main):005:0> put 'test','001','info:name','tom'
0 row(s) in 0.4710 seconds
hbase(main):006:0> put 'test','001','info:age','18'
0 row(s) in 0.0490 seconds
hbase(main):007:0> put 'test','002','info:name','jerry'
0 row(s) in 0.0490 seconds
hbase(main):008:0> put 'test','002','info:age','19'
0 row(s) in 0.0350 seconds
我们将test表导入到hdfs中
[hadoop@SHQZ-PS-IOT-TEST-APP01 ~]$ hbase org.apache.hadoop.hbase.mapreduce.Export test /user/hadoop/test
该命令会启动一个mapreduce程序来完成数据的导出,等待程序执行完成,查看导出后的文件
[hadoop@SHQZ-PS-IOT-TEST-APP01 ~]$ hdfs dfs -ls /user/hadoop/test
Found 2 items
-rw-r--r-- 3 hadoop supergroup 0 2018-05-17 21:33 /user/hadoop/test/_SUCCESS
-rw-r--r-- 3 hadoop supergroup 284 2018-05-17 21:33 /user/hadoop/test/part-m-00000
[hadoop@SHQZ-PS-IOT-TEST-APP01 ~]$
注意:上面以part-m开头的文件就是导出的数据文件,我们可以看下它的内容
[hadoop@SHQZ-PS-IOT-TEST-APP01 ~]$ hdfs dfs -cat /user/hadoop/test/part-m-00000
SEQ1org.apache.hadoop.hbase.io.ImmutableBytesWritable%org.apache.hadoop.hbase.client.ResultP
l7D~UL001D
001infoage 218
001infoname 2tom (N002F
002infoage 219
!
002infoname 2jerry (
2. 导入数据
导入数据前,一定要在hbase上创建同名表,否则会报错,找不到表
hbase org.apache.hadoop.hbase.mapreduce.Import test file:///home/hadoop/test (从本地导入)
hbase org.apache.hadoop.hbase.mapreduce.Import test /user/hadoop/test (从hdfs上导入)
# 先删除之前的test表,然后重新创建
hbase(main):004:0> disable 'test'
0 row(s) in 2.2780 seconds
hbase(main):006:0> drop 'test'
0 row(s) in 1.3260 seconds
#重新创建test表
hbase(main):016:0* create 'test','info'
0 row(s) in 1.2400 seconds
=> Hbase::Table - test
执行命令导入数据,导入目录一定要是数据文件所在目录
[hadoop@SHQZ-PS-IOT-TEST-APP01 ~]$ hbase org.apache.hadoop.hbase.mapreduce.Import test /user/hadoop/test
和导出命令类似,该命令同样会启动一个mapreduce任务来完成数据的导入,之后我们进入hbase shell查看数据是否导入了
hbase(main):020:0* scan 'test'
ROW COLUMN+CELL
001 column=info:age, timestamp=1526563694645, value=18
001 column=info:name, timestamp=1526563629119, value=tom
002 column=info:age, timestamp=1526563723288, value=19
002 column=info:name, timestamp=1526563706773, value=jerry
2 row(s) in 0.1570 seconds
可以看到,数据已经成功导入。
另外,我在将数据导出到本地,然后再导入到hbase中时,两个mapreduce任务执行均出现了报错,但是数据导出和导出成功了,而且数据没有丢失,尚未搞清楚,待摸索中~~
HBase表的数据导出和导入的更多相关文章
- 浅谈hbase表中数据导出导入(也就是备份)
转自:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=23916356&id=3321832 最近因为生产环境hbase ...
- MYSQL数据导出与导入,secure_file_priv参数设置
https://www.imooc.com/article/41883 MySQL 报错 [Code: 1290, SQL State: HY000] The MySQL server is run ...
- memcached命令行、Memcached数据导出和导入、php连接memcache、php的session存储到memcached
1.memcached命令行 telnet 127.0.0.1 11211set key2 0 30 2abSTOREDget key2VALUE key2 0 2abEND 如: set key3 ...
- MySQL--Workbench表及表种数据导出
MySQL--Workbench表及表种数据导出 1.-->点击Management,--->出现Navigator. 2.点击Date Export,选择导出的库. 3)选择库中的某个表 ...
- memcached命令行、Memcached数据导出和导入
1.memcached命令行 telnet 127.0.0.1 11211set key2 0 30 2abSTOREDget key2VALUE key2 0 2abEND 如: set key3 ...
- MySQL数据导出与导入
工具 mysql mysqldump 应用举例 导出 导出全库备份到本地的目录 mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines -- ...
- mongoDB 数据导出与导入
一.导出 命令格式:在mongodb/bin目录下 mongoexport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 -f 字段 -q 条件导出 --csv ...
- oracle数据库数据导出和导入
oracle的客户端里面的bin下面有两个可执行文件,名称分别为exp.exe和imp.exe. 他俩的用途就是导出和导入数据用的. 全库 导出:exp 用户名/密码@数据库名 full=y file ...
- mysql 开发进阶篇系列 49 表的数据导出(into outfile,mysqldump)
一.概述 在数据库的日常维护中,表的导入和导出是很频繁的操作,本篇讲解如何使用导入功能,并以案例为演示.某些情况下,需要将表里的数据导出为某些符号分割的纯数据文本,而不是sql语句,比如:(1)用来作 ...
随机推荐
- Golang gRPC学习(04): Deadlines超时限制
为什么要使用Deadlines 当我们使用gRPC时,gRPC库关系的是连接,序列化,反序列化和超时执行.Deadlines 允许gRPC客户端设置自己等待多长时间来完成rpc操作,直到出现这个错误 ...
- hdfs学习(三)
HDFS 的 API 操作 使用url方式访问数据(了解) @Test public void urlHdfs() throws IOException { //1.注册url URL.setURLS ...
- Python网络爬虫与信息提取笔记
直接复制粘贴笔记发现有问题 文档下载地址//download.csdn.net/download/hide_on_rush/12266493 掌握定向网络数据爬取和网页解析的基本能力常用的 Pytho ...
- 多主机搭建etcd集群
下载https://github.com/etcd-io/etcd/releases/download/v3.4.10/etcd-v3.4.10-linux-amd64.tar.gz分别放到两台主机上 ...
- Alpha阶段项目复审(鸽牌开发小分队)
团队:鸽牌开发专业小分队 项目:必备记 集合帖:集合帖 项目复审: 团队名字 项目链接 优点 缺点和bug报告 最终名次 歪瑞古德小队 海岛漂流 1.功能齐全,上手简单2.界面简洁美观3.想法新颖,可 ...
- 第7篇 Scrum 冲刺博客
1.站立会议 照骗 进度 成员 昨日完成任务 今日计划任务 遇到的困难 钟智锋 确定客户端和服务器通信的形式 重新设计项目执行流程 庄诗楷 编写UI的基本图形和响应 编写客户端UI 易德康 马,车,炮 ...
- 从零开始的SpringBoot项目 ( 一 ) Spring、SpringMVC和SpringBoot
要想开始一个SpringBoot项目 , 首先要知道SpringBoot是什么 , 可以做什么 , 再去研究怎么用 . 一.概念 1.Spring Spring是一个开源容器框架,可以接管web层,业 ...
- 推荐一款万能抓包神器:Fiddler Everywhere
搞IT技术的同行,相信没有几个人是不会抓包这项技能的(如果很不幸你中枪了,那希望这篇文章给你一些动力),市面上的抓包工具也有很多,常用的有:Charles.Fiddler.Burpsuite.Wire ...
- git最基础常用操作
单人开发托管够用 未列出的用到一个补一个
- ajax请求默认都是异步请求,怎么变为同步请求
Ajax请求默认的都是异步的 如果想同步 async设置为false就可以(默认是true) var html = $.ajax({ url: "some.PHP", as ...