hbase手动compact与split
发表于:2025-11-06 作者:千家信息网编辑
千家信息网最后更新 2025年11月06日,#!/bin/bashdie () { echo >&2 "$@" echo "usage:" echo " $0 check|split table_name [spl
千家信息网最后更新 2025年11月06日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安全错误
数据库的锁怎样保障安全
sql数据库中avg的用法
服务器管理技术资料
15项顶级互联网科技成果
实用数据库挖掘
烂裤子国内有服务器吗
项目管理软件开发ppt
cf服务器登录不了
数据库中的平均的函数
求职软件开发岗位
中南大学网络安全课内实验
道道道网络技术
济南美易计算机网络技术平台
招聘数据库人员
天天互联网科技
数据库查询统计学生人数
数据库实体间的联系有哪三种
网络技术 社团 宗旨
学习网络技术培训
数据库同义词怎么写
湘潭软件开发培训学校
熟知的网络安全防护措施
晋城网络技术预算
传奇世界服务器引擎
sqlite移动端数据库
科技互联网 诗词赋
三级网络技术入股协议
高斯数据库查看表的容量
自考有网络技术吗
数据库怎么确定主表和从表
东莞用友软件开发