zoukankan      html  css  js  c++  java
  • 读取HBases的数据的三种常见用法

    感谢提供者https://blog.csdn.net/javastart/article/details/80889190?utm_source=blogxgwz0

    HBase中Scan从大的层面来看主要有三种常见用法:ScanAPI、TableScanMR以及SnapshotScanMR。

    ScanAPI:

    客户端next设计原理:HBase中scan根据发送的命令过去,服务器并不是将满足扫描条件的所有数据一次性返回给客户端;

    应用场景:scan API的效率很大程度上取决于扫描的数据量。通常建议OLTP业务中少量数据量扫描的scan可以使用scan API;

    TableScanMR:

    TableScanMR的工作原理其实就是ScanAPI的并行化,ableScanMR会将scan请求根据目标region的分界进行分解,分解成多个sub-scan,每个sub-scan本质上就是一个ScanAPI

    假如scan是全表扫描,那这张表有多少region,就会将这个scan分解成多个sub-scan,每个sub-scan的startkey和stopkey就是region的startkey和stopkey

    应用场景:HBase扫描大量数据进行分析

    SnapshotScanMR:

    SnapshotScanMR扫描于原始表对应的snapshot之上,根据snapshot restore出来的hfile

    SnapshotScanMR直接会在客户端打开region扫描HDFS上的文件,不需要发送Scan请求给RegionServe

    SnapshotScanMR直接绕过regionserver在客户端借用region中的扫描机制直接扫描hdfs中数据,

    优点:1)减小对RegionServer的影响,2)极大的提升了扫描效率。SnapshotScanMR相比TableScanMR在扫描效率上会有2倍~N倍的性能提升;

    注意点:

    TableScanMR和SnapshotScanMR都会存在的问题,两者实际上都是按照region对scan进行切分,然而对于很多大region(大于30g),单个region的扫描粒度还是太大,很多scan扫描可能并没有涉及多个region,结果只会集中在某一个region上;

  • 相关阅读:
    nodejs install
    taobao sass
    Cors 跨域访问API
    多文件上传
    Next
    实用小工具
    下载包含src,tgz,zip的文件
    HTML5文件API
    Bootstrap (导航、标签、面包屑导航)
    Bootstrap 固定定位(Affix)
  • 原文地址:https://www.cnblogs.com/zyanrong/p/12877583.html
Copyright © 2011-2022 走看看