hbase有預設的大合併機制。我們可以使用major_compact命令手動合併。
但是如果hbase中的表很多的時候,就該寫個指令碼了。
說明:只使用了major_compact這個合併命令。
#!/bin/bash
time_start=`date "+%y-%m-%d %h:%m:%s"`
str=`echo list | hbase shell | sed -n '$p'`
#str="a,b,c"
str=$
arr=($str)
length=$
current=1
echo "hbase中總共有$張表需要合併."
echo "balance_switch false" | hbase shell | > /dev/null
echo "hbase的負載均衡已經關閉"
for each in $
do table=`echo $each | sed 's/]//g' | sed 's/\[//g'`
echo "開始合併第$/$張表,表的名稱為:$"
echo "major_compact $" | hbase shell | > /dev/null
let current=current+1
done
echo "balance_switch true" | hbase shell | > /dev/null
echo "hbase的負載均衡已經開啟."
time_end=`date "+%y-%m-%d %h:%m:%s"`
duration=$($(date +%s -d "$finish_time")-$(date +%s -d "$start_time"))
echo "耗時:$s"
HBase 優化拆分和合併
摘錄自 hbase 權威指南 hbase 內建的處理拆分和合併的機制一般是合理的,並且它們按照預期處理任務,但在某些情況下,還是需要按照應用需求對這部分功能進行優化以獲得額外的效能改善。通常 hbase 是自動處理 region 拆分的 一旦它們達到了既定的閾值,region 將被拆分成兩個,之後它...
python excel合併指令碼
import pandas as pd importos 檔案路徑 file dir r c users administrator desktop 111 構建新的 名稱 new filename r c users administrator desktop 2.xlsx 找到檔案路徑下的所有 ...
hbase的讀寫 儲存機制 合併
client訪問zk,根據root表獲取meta表所在region的位置資訊,並將該位置資訊寫入client cache。注 為了加快資料訪問速度,我們將元資料 region位置等資訊快取在client cache中 client讀取meta表,再根據meta表中查詢得到的namespace 表名和...