hbase手动compact与split
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,#!/bin/bashdie () { echo >&2 "$@" echo "usage:" echo " $0 check|split table_name [spl
千家信息网最后更新 2025年01月19日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"done
hbase-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安全错误
数据库的锁怎样保障安全
汕头支付软件开发费用是多少
c和c 用什么编程软件开发
图解网络安全观
承德系统软件开发
网络安全中国有多少家
沈阳管理软件开发要多少钱
网络数据库技术大学期末考试
广东系统软件开发收费报价表
C2服务器成功的原因
公司软件开发费用
湖北信息网络安全维护介绍
淘宝服务器一直繁忙
基本古籍数据库
网络安全对网络一词的定义
说好不哭音乐服务器
服务器双cpu的区别
阿里云邮箱服务器端口
服务器管理我的世界
数据库结构分析技术
软件开发计划模板国家标准
网康网络安全审计型号
我的世界服务器过期
服务器修改端口几个地方
服务器虚拟磁盘设置
苹果笔记本服务器怎么查找
苏州互联网软件开发管理方法
软件开发培训乐智赢
说好不哭音乐服务器
宿州电力软件开发需要多少钱
武汉网络安全基地总体规划图