zoukankan      html  css  js  c++  java
  • Hbase数据IO

    场景及方案分析

    场景1:logs --> HBase

    • logs -> flume -> hfile -> import -> HBase (实时)
    • csv导入HBase 使用hive 作为临时表csv导入HBase
    • tsv导入HBase 直接import 方式1

    场景2:RDBMS --> HBase

    • RDBMS -> sqoop -> Hfile -> import -> HBase (非实时) 方式1
    • RDBMS -> JDBC -> Put API -> HBase (实时较高,纯手写,较常用,因为需要过滤处理) 方式3
    • RDBMS -> Stome -> HBase (实时)
    • RDBMS -> Spark -> HBase (实时)

    场景3:集群性能测试

    • 自己写多线程并发程序(),测试读写速度

    场景4:HBase -> RDBMS

    三种方式

    1.Using the HBase Put API

    使用Put API import,缺点:数据保存在内存中,大数据量处理速度慢,数据缺少过滤

    HADOOP_CLASSPATH=`$HBASE_HOME/bin/hbase mapredcp` 
    $HADOOP_HOME/bin/yarn jar 
    $HBASE_HOME/lib/hbase-server-1.2.0-cdh5.12.0.jar 
    importtsv 
    -Dimporttsv.columns=HBASE_ROW_KEY,info:name,info:sex,info:age 
    user_from_tsv 
    /user/cen/data/hbase_import_user.tsv
    

    2.Using the HBase bulk load tool

    使用MapReduce存储成HBase底层文件,优点,减少HBase集群插入压力(不经过插入),降低Job集群时间提高运行速度

    # 跟上述命令不用的是,这个导入并不会将数据导入到HBase而是到一个指定的文件夹
    # 使用import生成Hfile文件到HDFS,底层通过MapReduce(只有Map)实现
    HADOOP_CLASSPATH=`$HBASE_HOME/bin/hbase mapredcp`:${HBASE_HOME}/conf 
    $HADOOP_HOME/bin/yarn jar 
    $HBASE_HOME/lib/hbase-server-1.2.0-cdh5.12.0.jar 
    importtsv 
    -Dimporttsv.columns=HBASE_ROW_KEY,info:name,info:sex,info:age 
    -Dimporttsv.bulk.output=/user/cen/hbase/hfileoutput 
    user_from_tsv_bulk  
    /user/cen/data/hbase_import_user.tsv
    
    # 加载数据(非MapReduce),相当于移动数据
    HADOOP_CLASSPATH=`$HBASE_HOME/bin/hbase mapredcp`:${HBASE_HOME}/conf 
    $HADOOP_HOME/bin/yarn jar 
    $HBASE_HOME/lib/hbase-server-1.2.0-cdh5.12.0.jar 
    completebulkload 
    /user/cen/hbase/hfileoutput 
    user_from_tsv_bulk
    

    3.Using a customized MapReduce job

    自定义 MapReduce Job 优点:前所未有的自由度,缺点:我有一句mmp不知当讲不当讲

    a.mapreduce

    csv -> hfile
    

    b.bulk load

    hfile -> table
    

    bulk_load_API

  • 相关阅读:
    企业网站常用中英文对照表
    AttachJSFunction(一个button同时挂两个onclick事件)
    Js 整理
    宝玉的CSS
    网页中一些比较隐蔽的用法 作者:wbc
    flex中flexgrow作用
    flex实现换行内容上下贴边效果
    flex中自动换行设置,以及上下间距的设置?
    flex中aligncontent和aliginitems区别?
    正则表达式语法及实例整理[转]
  • 原文地址:https://www.cnblogs.com/cenzhongman/p/7402929.html
Copyright © 2011-2022 走看看