欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

HBase 定期备份

程序员文章站 2024-04-04 14:15:05
...

使用Export与Import定期备份的Python代码。每月15日做一次完整备份,每天进行一次增量备份。

如何使用HBase的Export与Import完成备份功能,请参照我之前的《HBase 增量备份》。

转载一份使用Export与Import定期备份的Python代码。每月15日做一次完整备份,每天进行一次增量备份。

import time
import datetime
from datetime import date
import sys
import os

tablename=sys.argv[1]
backupDst=sys.argv[2]
today=date.today()
if today.day == 15: //every month, we do a full backup
backupSubFolder=backupDst+today.isoformat()+"-full"
cmd="hbase org.apache.Hadoop.hbase.mapreduce.Export %s %s"%(tablename,backupSubFolder)
else:

yesterday=datetime.date.today()- datetime.timedelta(days=1)
todayTimeStamp=time.mktime(today.timetuple())
yesTimeStamp=time.mktime(yesterday.timetuple())
backupSubFolder=backupDst+today.isoformat()
cmd="hbase org.apache.hadoop.hbase.mapreduce.Export %s %s %s"%(tablename,backupSubFolder,str(int(todayTimeStamp)*1000)

print cmd

os.system(cmd)

注意最后的cmd字符串构建,,视HBase版本在对应位置添加上版本号。

HBase 定期备份