zoukankan      html  css  js  c++  java
  • BulkLoad加载本地文件到HBase表

    BulkLoad加载文件到HBase表

    1、功能

    将本地数据导入到HBase中

    2、原理

    BulkLoad会将tsv/csv格式的文件编程hfile文件,然后再进行数据的导入,这样可以避免大量数据导入时造成的集群写入压力过大。

    1、tsv格式的文件:字段之间以制表符	分割
    2、csv格式的文件:字段之间以逗号,分割

    3、作用

    1. 减小HBase集群插入数据的压力
    2. 提高了Job运行的速度,降低了Job执行时间

    4、案例

    Step1、配置临时环境变量

    $ export HBASE_HOME=/opt/modules/cdh/hbase-0.98.6-cdh5.3.6/
    $ export HADOOP_HOME=/opt/modules/cdh/hadoop-2.5.0-cdh5.3.6
    $ export HADOOP_CLASSPATH=`${HBASE_HOME}/bin/hbase mapredcp`

    Step2、创建一个新的HBase表

    $ bin/hbase shell
    
    hbase(main):001:0> create 'fruit_bulkload','info'

    Step3、将tsv/csv文件转化为HFile (别忘了要确保你的fruit格式的文件fruit.tsv在input目录下)

    $ /opt/modules/cdh/hadoop-2.5.0-cdh5.3.6/bin/yarn jar 
    
    /opt/modules/cdh/hbase-0.98.6-cdh5.3.6/lib/hbase-server-0.98.6-cdh5.3.6.jar importtsv 
    
    -Dimporttsv.bulk.output=/output_file 
    
    -Dimporttsv.columns=HBASE_ROW_KEY,info:name,info:color 
     
    fruit hdfs://hadoop-senior01.itguigu.com:8020/input_fruit

    Step4、把HFile导入到HBase表fruit_bulkload

    上一步完成之后,你会发现在HDFS的根目录下出现了一个output_file文件夹,里面存放的就是HFile文件,紧接着:把HFile导入到HBase表fruit_bulkload

    $ /opt/modules/cdh/hadoop-2.5.0-cdh5.3.6/bin/yarn jar 
    
    /opt/modules/cdh/hbase-0.98.6-cdh5.3.6/lib/hbase-server-0.98.6-cdh5.3.6.jar 
    
    completebulkload /output_file fruit_bulkload

    Step5、查看使用bulkLoad方式导入的数据

    hbase(main):001:0> scan ‘fruit_bulkload’
    

      

  • 相关阅读:
    DRF项目之视图获取路径参数
    DRF项目之层级关系
    DRF项目之序列化器和视图重写方法的区别
    DRF项目之自定义分页器
    DRF项目之实现用户密码加密保存
    DRF项目之通过业务逻辑选择数据集和序列化器
    DRF项目之自定义JWT认证响应数据
    PIP一次性导入所有环境和指定镜像源
    DRF项目之JWT认证方式的简介及使用
    DRF项目之解决浏览器同源策略问题
  • 原文地址:https://www.cnblogs.com/alexzhang92/p/10938820.html
Copyright © 2011-2022 走看看