zoukankan      html  css  js  c++  java
  • HBase数据的导入和导出

    查阅了几篇中英文资料,发现有的地方说的不是很全部,总结在此,共有两种命令行的方式来实现数据的导入导出功能,即备份和还原。

    1 HBase本身提供的接口
    其调用形式为:
    1)导入
    ./hbase org.apache.hadoop.hbase.mapreduce.Driver import 表名    数据文件位置
    其中数据文件位置可为本地文件目录,也可以分布式文件系统hdfs的路径。
    当其为前者时,直接指定即可,也可以加前缀file:///
    而当其伟后者时,必须明确指明hdfs的路径,例如hdfs://mymaster:9000/path
    2)导出
    ./hbase org.apache.hadoop.hbase.mapreduce.Driver export 表名    数据文件位置
    同上,其中数据文件位置可为本地文件目录,也可以分布式文件系统hdfs的路径。
    另外,该接口类还提供了一些其它的方法,例如表与表之间的数据拷贝,导入tsv文件等,可回车键查看
    2 hadoop提供的工具(hadoop tool interface)

    使用该工具的话,需要首先配置hadoop-env.sh,否则在执行时会提示缺少jar包或者class文件。
    1)配置
    切换到hadoop安装目录下,
    vim hadoop-env.sh,加以下语句
    export HADOOP_CLASSPATH="hbasejar包路径:zookeeper的jar包路径:hbase的config目录"
    2)使用
      导入:
      hadoop jar /../hbase/hbase-*.jar import mytest /export/mybakup
     导出:
      hadoop jar /../hbase/hbase-*.jar import mytest /import/mybackup
     直接将数据导出到hdfs目录中,当不指定file前缀时。

    另外: 
    export,fs的参数为hdfs上的路径时,该路径必须不能已经存在,否则会报错。
    import的表必须是hbase中已经创建好的,否则会报错。
  • 相关阅读:
    raw_input() 与 input()对比
    你很熟悉CSS,却没掌握这些CSS技巧
    CSS样式设置
    javascript基本语法和变量(转)
    手机/移动前端开发需要注意的20个要点
    移动端”宴席知多少
    git第一次提交代码到远程仓库
    java对过反射调用方法
    站点收集
    别人抢红包,我们研究一下红包算法
  • 原文地址:https://www.cnblogs.com/1130136248wlxk/p/5141559.html
Copyright © 2011-2022 走看看