• hbase工作---新特性


    1.hbase的导入与导出

    命令:

    //导出
    hbase org.apache.hadoop.hbase.mapreduce.Export test_table /opt/hbase-data-back/test_table_back
    //增量导出                                                                  //这里的1是版本 //后面两个是时间 
    hbase org.apache.hadoop.hbase.mapreduce.Export harve_plate /hdfs/data_back/harve_plate 1 1483200000000 1495123200000

    说明:上面都是例子,以增量导入为例

            首先查看表的版本,命令:desc '表名'    就可以查看表的版本

            后面的时间是转化过去的:2017-05-19 00:00:00 1495123200000

        如果想增量导入。自己转化好时间即可

    2.查看文件:

        注:上面的路径并不是我最初认为的系统目录,而是hdfs内部的目录。因此在系统中是找不到此文件的。可以通过hdfs的命令查看文件:

       hadoop fs -ls /opt/hbase-data-back/test_table_back

       以我的操作为例。查看导出数据

    3) 获取hdfs文件到系统

    将hdfs中的/opt/hbase-data-back/test_table_back,复制到系统的/opt/hbase-data-back/test_table_back中:

    hadoop fs -get /opt/hbase-data-back/test_table_back /opt/hbase-data-back/test_table_back
    说明:这个命令的作用是将导出的文件复制一份放到普通目录下面

    4) 将备份文件添加到hdfs中

    将上面的目录复制到新的机器中,通过put将文件上传到hdfs中去。

    hadoop dfs -put localFile hdfsFile

    如:把系统的/opt/hbase-data-back/test_table_back上传到hdfs的/opt/hbase-data-back/test_table_back2下。
    说明:这个就是将上面(第3步的)普通本文件放到hdfs上。使用的很少

    5) 导入:

    先创建一张一样的表:

    hbase org.apache.hadoop.hbase.mapreduce.Import test_table_back /opt/hbase-data-back/test_table_back

    网上有人说要这么写(指定从hdfs获取数据):hdfs://l-master.data/opt/hbase-data-back/test_table_back

    但不这么写默认就是从hdfs中获取数据。

    后记:

          1.导出的表列族要和创建导入表的列族必须一样,否则导入将失败

          2.在import时可以指定使用bulk的方式,bulk是生成hfile格式的文件,直接导入到Region,无需经历hbase的写数据过程,从而无需消耗memstore,无        需Flush等,更加高效,如果不指定bulk文件路径(hdfs的路径)则会采用hbase 的put和delete API进行写入。

          $ bin/hbase -Dhbase.import.version=0.94 org.apache.hadoop.hbase.mapreduce.Import <tablename> <inputdir>

          使用Import工具前必须先创建表,关于hbase.import.version属性是0.96的功能。
          借鉴参考博文:https://blog.csdn.net/qq_41665356/article/details/80265656

  • 相关阅读:
    Diffie–Hellman key exchange
    VMware虚拟机VMware Authorization Service不能启动问题
    深入理解PHP内核(十)变量及数据类型-类型提示的实现
    深入理解PHP内核(九)变量及数据类型-静态变量
    深入理解PHP内核(八)变量及数据类型-预定义变量
    深入理解PHP内核(七)变量及数据类型-常量
    深入理解PHP内核(六)哈希表以及PHP的哈希表实现
    深入理解PHP内核(五)变量及数据类型-变量的结构和类型
    汇编程序的Hello world
    Spring(一)第一个示例
  • 原文地址:https://www.cnblogs.com/kaiwen03/p/9841840.html
Copyright © 2020-2023  润新知