zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Qt Release 构建时强制包含调试信息
    Spring Kafka(二)操作Topic以及Kafka Tool 2的使用
    PostgreSQL全文检索简介
    qcow2虚拟磁盘映像转化为vmdk
    Nodejs-JWT token认证:为什么要使用token、token组成(头部、载荷、签名)、jwt使用过程以及token对比session的好处(单点登录、减轻服务器压力、存储信息等)
    [Kotlin] Multi ways to write constuctor in Kotlin
    [CSS] Use CSS Transforms to Create Configurable 3D Cuboids
    [CSS] Use CSS Variables Almost like Boolean Values with Calc (maintainable css)
    [Kotlin] Typecheck with 'is' keyword, 'as' keyword for assert type
    [Kotlin] When to add () and when not to
  • 原文地址:https://www.cnblogs.com/kaiwen03/p/9841840.html
Copyright © 2011-2022 走看看