mysql导入hbase

##########################
cat dt.txt
2015-12-02 42
2015-12-04 1
2015-12-09 2769
2015-12-10 6439
2015-12-11 5966
#########
cat imp.py
# -*- coding: utf-8 -*-
import sys

reload(sys)
sys.setdefaultencoding('utf-8')

import happybase
import json
conn = happybase.Connection('bhasehost')
conn.open()

tab1 = conn.table('star_biz:t_realname_model')
with tab1.batch(batch_size=5) as tab1bat:
with open("/data/dyg/tmp/table_name.csv", "r") as f:
for i in f:
r=json.loads(json.loads(i.encode('utf-8')))
if not tab1.row(r["A:id"]):
tab1bat.put(r["A:id"],r)

#########
for dt in $(cat dt.txt | awk '{print $1;}')
do
echo $dt
mysql -uroot -ppassword -hmysqlhost --default-character-set utf8 db_name -N > table_name.csv <<EOF
SELECT CONCAT('"{\\\"A:cardId\\\":\\\"',id_card,'\\\",'
'\\\"A:createTime\\\":\\\"',UNIX_TIMESTAMP(create_time) * 1000,'\\\",',
'\\\"A:id\\\":\\\"',CONCAT(REVERSE(id_card),name), '\\\",',
'\\\"A:msg\\\":\\\"','一致\\\",',
'\\\"A:picture\\\":\\\"',picture,'\\\",',
'\\\"A:realName\\\":\\\"',name,'\\\",',
'\\\"A:status\\\":\\\"','SUCCESS\\\",',
'\\\"A:updateTime\\\":\\\"',UNIX_TIMESTAMP(update_time) * 1000, '\\\"}"')
FROM table_name
where update_time >= '$dt'
and update_time < date_add('$dt', interval +1 day);
EOF

sed -i -e 's/\\\\/\\/g' table_name.csv

python2.7 imp.py

done

转载于:https://www.cnblogs.com/falcon007/p/10496991.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值