hbase手动compact与split
发表于:2026-10-30 作者:千家信息网编辑
千家信息网最后更新 2026年10月30日,#!/bin/bashdie () { echo >&2 "$@" echo "usage:" echo " $0 check|split table_name [spl
千家信息网最后更新 2026年10月30日hbase手动compact与split
#!/bin/bashdie () { echo >&2 "$@" echo "usage:" echo " $0 check|split table_name [split_size]" exit 1}[[ "$#" -lt 2 ]] && die "at least 2 arguments required, $# provided"COMMAND=$1TABLE=$2SIZE="${3:-1073741824}"split() { region_key=`python /home/hduser/hbase/hbase-scan.py -t hbase:meta -f "RowFilter (=, 'substring:$1')"` echo "split '$region_key'" | hbase shell}if [ "$COMMAND" != "check" ] ; then for region in `hadoop fs -ls /hbase/data/default/$TABLE | awk {'print $8'}` do [[ ${region##*/} =~ ^\. ]] && continue [[ `hadoop fs -du -s $region | awk {'print $1'}` -gt $SIZE ]] && split ${region##*/} done # check after split sleep 60fifor region in `hadoop fs -ls /hbase/data/default/$TABLE | awk {'print $8'}`do [[ ${region##*/} =~ ^\. ]] && continue [[ `hadoop fs -du -s $region | awk {'print $1'}` -gt $SIZE ]] && echo "${region##*/} (`hadoop fs -du -s -h $region | awk {'print $1 $2'}`) is a huge region" || echo "${region##*/} (`hadoop fs -du -s -h $region | awk {'print $1 $2'}`) is a small region"donehbase-scan.py
import subprocessimport datetimeimport argparseimport csvimport gzipimport happybaseimport loggingdef connect_to_hbase(): return happybase.Connection('itr-hbasetest01')def main(): logging.basicConfig(format='%(asctime)s %(name)s %(levelname)s: %(message)s',level=logging.INFO) argp = argparse.ArgumentParser(description='EventLog Reader') argp.add_argument('-t','--table', dest='table', default='eventlog') argp.add_argument('-p','--prefix', dest='prefix') argp.add_argument('-f','--filter', dest='filter') argp.add_argument('-l','--limit', dest='limit', default=10) args = argp.parse_args() hbase_conn = connect_to_hbase() table = hbase_conn.table(args.table) logging.info("scan start") scanner = table.scan(row_prefix=args.prefix, batch_size=1000, limit=int(args.limit), filter=args.filter) logging.info("scan done") i = 0 for key, data in scanner: logging.info(key) print key i+=1 logging.info('%s rows read in total', i)if __name__ == '__main__': main()
手动
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网金融科技
亿人帮互联网科技有限公司
广州淘业互联网络科技
新华互联网科技学校
科技互联网产品
科技创新与互联网经济
重庆互联网络科技
杭州互联网科技公司
壕鑫互联网络科技
兼蜜互联网科技
重庆威客帮互联网科技
中化能源互联网科技招聘
佳云科技和互联网广告
互联网金融科技名词解释
银行科技岗属于互联网吗
杭州披云加互联网科技有限公司
上海互联网科技公司ppt
世界互联网科技成果奖
湖北辰鑫科技互联网
河南商务圈互联网科技有限公司
科技赋能下的互联网金融
金诺互联网科技
中资互联网科技
致聘互联网科技
善班互联网科技有限公司
互联网养老 桔豆科技
移动互联网科技公司
深圳艾果互联网通讯科技
上海同邻互联网科技有限公司规模
河南商务圈互联网科技有限公司