zoukankan      html  css  js  c++  java
  • HBase按照行键范围删除数据

    #!/bin/bash
    #TOOL_PATH=$(cd "$(dirname "$0")"; pwd)
    #TOOL_PATH_TMP=$(cd "$(dirname "$0")"; pwd)
    if [ $# != 3 ];then
            echo 'usage:sh byRowKeyRange.sh table startrowkey endrowkey'
            exit
    fi
    table=$1
    srowkey=$2
    erowkey=$3
    
    echo $table
    echo $srowkey
    echo $erowkey
    
    currentTime=`date +%s`
    
    echo "scan,get rowkeys,scan: '$table',{ STARTROW => '$srowkey',ENDROW => '$erowkey',FILTER => "FirstKeyOnlyFilter() AND KeyOnlyFilter()" } "
    #notice:[srowkey,erowkey)!!!
    echo "scan '$table',{ STARTROW => '$srowkey',ENDROW => '$erowkey',FILTER => "FirstKeyOnlyFilter() AND KeyOnlyFilter()" }" | hbase shell > ./scanresult-$currentTime.txt
    
    #删除scan结果文件前面没用的6行
    sed -i '1,6d' scanresult-$currentTime.txt
    
    #删除最后一个空行
    sed -i '$d' scanresult-$currentTime.txt
    
    #删除scan统计条数的行,现在位置在最后
    sed -i '$d' scanresult-$currentTime.txt
    
    #判断下是否查询结果,没有则直接退出
    
    tmpCount=$(wc -l ./scanresult-$currentTime.txt | awk '{print $1}')
    
    if [ "$tmpCount" -eq 0 ];then
            echo "0 rows deleted"
            rm -rf ./scanresult-$currentTime.txt
            exit
    fi
    
    
    #生成hbase 删除语句
    cat scanresult-$currentTime.txt|awk '{print $1}' | while read rowkey
    do
    echo -e "deleteall '${table}','${rowkey}'" >> ./delete-$currentTime.txt
    done
    
    totalCount=$(wc -l ./delete-$currentTime.txt | awk '{print $1}')
    
    echo "exit" >> ./delete-$currentTime.txt
    
    #执行hbase删除
    hbase shell ./delete-$currentTime.txt
    
    echo "$totalCount records deleted"
    
    #rm -rf ./scanresult-$currentTime.txt
    #rm -rf ./delete-$currentTime.txt

    KeyOnlyFilter:只会返回每行的行键+列簇+列,而不返回值

    FirstKeyOnlyFilter:找每一行的第一列数据,找到之后,就会停止扫描,会返回列值

    参考:https://blog.csdn.net/nyistzp/article/details/76922512

  • 相关阅读:
    [C++设计模式]observer 观察者模式
    Codeforces 425A Sereja and Swaps(暴力枚举)
    linux中设置TAB键的宽度
    iOS 常见面试图总结2
    网络爬虫初步:从訪问网页到数据解析
    大数据时代之hadoop(二):hadoop脚本解析
    数据格式,訪问信息以及操作数指示符
    javaScript实现日历控件
    每一个程序猿都须要了解的一个SQL技巧
    OpenGL编程逐步深入(九)插值处理
  • 原文地址:https://www.cnblogs.com/darange/p/9504329.html
Copyright © 2011-2022 走看看