hbase shell 根據rowKey範圍批量刪除

hbase shell 根據rowKey範圍批量刪除

#!/bin/bash
tablename=$1
startrow=$2
endrow=$3
if [ $# -eq 0 ];then
echo "請輸入表名,startRow,endRow"
exit 0
fi
echo "scan '${tablename}',{STARTROW=>'${startrow}',ENDROW=>'${endrow}'}" |hbase shell|awk -F ' ' '{print $1'\t'}'> ./file.txt
#刪除前6行非表中數據
sed -i '1,6d' file.txt
#刪除最後一行(空行)
sed -i '$d' file.txt
#刪除最後一行(總條數)
sed -i '$d' file.txt
cat ./file.txt|awk '{print $1}'|while read rowvalue
do
echo -e "deleteall '${tablename}','${rowvalue}'" >> ./deleteRowFile.txt
done
rm ./file.txt
echo "exit" >> ./deleteRowFile.txt
#爲避免線上執行失誤 ,先檢查deleteRowFile.txt中要刪除的rowkey是否正確,所以以下兩行命令請手動執行
#hbase shell ./deleteRowFile.txt
#rm ./deleteRowFile.txt
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章