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)用来作 ...
随机推荐
-
SharePoint 2010 Survey的Export to Spreadsheet功能怎么不见了?
背景信息: 最近用户报了一个问题,说他创建的Survey里将结果导出成Excel文件(Export to spreadsheet)的按钮不见了. 原因排查: 正常情况下,这个功能只存在于SharePo ...
-
Scalaz(59)- scalaz-stream: fs2-程序并行运算,fs2 running effects in parallel
scalaz-stream-fs2是一种函数式的数据流编程工具.fs2的类型款式是:Stream[F[_],O],F[_]代表一种运算模式,O代表Stream数据元素的类型.实际上F就是一种延迟运算机 ...
-
【转载】perl接受传递参数的方法
#! /usr/bin/perl use Getopt::Std;use warnings;use strict; sub read_from_sh($) { my $file = shift; my ...
-
【ConnerStone】SVN代码管理 - 基本使用
第一步,链接服务器,创建代码管理仓库 第二步,输入服务器的配置,链接服务器(例子是以svn:// 为例子) 第三部 ,链接成功后,SVN的基本界面组成 第四步 从仓库中check out你需要的项目 ...
-
最新 Arduino 驱动 12接口/户外 LED显示屏/LED点阵屏/LED单元板
起因 现有的驱动LED显示屏的资料,比较好的只有这个.但是它驱动的是08接口的室内显示屏,而我要驱动的是12接口的户外显示屏.两种屏幕的区别在于户外屏幕点阵比较稀疏,而且二者的扫描方式,驱动方式都不太 ...
-
DOS批处理命令-pause
“pause”用于暂停批处理的执行器并给出提示信息,然后由用户决定是继续执行还是终端执行. 语法: pause 简单一个pause,不附带任何参数. 执行pause以后会提示一句话[按任意键继续执行] ...
-
Ubuntu12.04下arm交叉编译环境的建立
http://blog.csdn.net/heyangya2009/article/details/5424376 备注:ubuntu12.04+Android+Real6410 在主机上用来编译其他 ...
-
ODP.NET 之访问 Oracle 数据库
ODP.NET 之访问 Oracle 数据库 要相使用 Oracle Data Provider For .NET(ODP.NET), 必须先安装 ODP.NET 或者是 ODAC(Oracle Da ...
-
js获取当前时间戳
当使用js时我们可以使用timestamp = (new Date()).valueOf();直接获取当前时区时间点的时间戳.注意:js中时间戳的单位是毫秒,而php中则是秒
-
AngularJS_自定义控件_笔记1
简介: 本篇博客是在学习AngularJS自定义控件的学习记录,作为一个学习示例... A-基本架构介绍 新建一个AngularJs的项目,大概项目结构如下: 项目结构: 大概是由:app.js,bo ...