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’
    

      

  • 相关阅读:
    .net 面试题之 输出 空 三角型
    js 里 用XML httpRequest 调用 Web Service
    C# 设计模式之 单例模式
    C#TreeView 实现无线级别分类
    asp.net Session的原理
    .Net 面试题之 查询两个时间差
    暑 假 队 测 Round #2
    两个排序算法的扩展应用
    暑 假 队 测 Round #1
    二维单调队列或st表
  • 原文地址:https://www.cnblogs.com/alexzhang92/p/10938820.html
Copyright © 2011-2022 走看看