• HBase(三): Azure HDInsigt HBase表数据导入本地HBase


    目录:

    • hdfs 命令操作本地 hbase
    • Azure HDInsight HBase表数据导入本地 hbase

    hdfs命令操作本地hbase:


    • 参见  HDP2.4安装(五):集群及组件安装 , 创建本地 hbase集群后,使用hadoop hdfs 命令在访问 hbase 存储数据时,数据在hdfs文件中的路径依赖于 hbase-site.xml 配置中hbase.rootdir参数,默认如下图:
    • hdp2.4默认的目录地址为: hdfs://mycluster/apps/hbase/data ,使用 hdfs 命令如下效果(绝对地址或相对地址),目录太深,操作不方便,可修改配置
    • 将目录地址修改为:/hbase 表示hdfs主目录的相对路径,完整的路径由 hdfs core-site.xml配置中 fs.defaultFS 参数决定,如下图
    • 修改完目录参数后,重启依赖于该参数的相关服务, 在 hdfs 中访问hbase路径如下:
    • 注意: 修改 root.dir 参数后,原hbase数据库中已经存在的数据并未移过来,需要手工将 /hbase/data/default 目录 copy 至新的 hdfs 目录下,再用 hbase hbck -repair 命令进行修复,详细见下面的介绍

    Azure HDInsight HBase表数据导入本地 hbase


    • 不同hbase群集之间数据导入导出的方式有很多, 这节介绍效率最高的一种方法,
    • 在HDinsight hbase集群上,通过 hdfs dfs -du -h /hbase/data/default  以如下图大小为3+G的数据作为测试例子进行验证
    • 第一步使用 hdfs 命令将 hdinsight hbase 中要复制的表数据文件导出至本地,导出命令及文件如下图:
    • 命令: hdfs dfs -get /hbase/data/default/TrackLog c:/zhu
    • 将下载到HDInsight本地的文件 copy 至本地 linux 机器的任一目录,如:/zhu,通过然后通过 hdfs 命令 put 至 hdfs :
    • 命令:hdfs dfs -put /zhu/TrackLog hdfs://mycluster/hbase/data/default , 如下图:
    • 此时,物理文件虽然存在,但hbase 的metadata表中并没有注册表的信息,通过如下的命令处理,切换到 hbase安装目录 bin 目录下
    • 命令:./hbase hbck -repair -ignorePreCheckPermission   执行成功后,如下图:
    • 进入hbase shell   查看结果,hbase 表已经成功创建
    • 查询表数据,如下图则OK
  • 相关阅读:
    03月03日23:29:34 学习进度笔记
    9
    DATETIME vs TIMESTAMP vs INT,怎么选?
    @AllArgsConstructor与@Value共用的问题解决
    ios15使用高德地图定位失败问题 吴小明
    浏览器工作原理 吴小明
    互联网是如何运作的 吴小明
    isNaN()函数和Number.isNaN()方法的基本区别 吴小明
    【前端优化】dnsprefetch 吴小明
    get/post请求传参长度有什么特点 吴小明
  • 原文地址:https://www.cnblogs.com/tgzhu/p/5832838.html
Copyright © 2020-2023  润新知