使用python 获取mysql数据 并生成hive建表语句
# -*- coding: utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
import re
from collections import defaultdict
import MySQLdb
import pandas as pd
engine=MySQLdb.connect(host='xx.xxxxxxxxxxx',port=xxxxx,user='xxxxxx',passwd='xxxxxx',db='xxxx',connect_timeout=200,charset='utf8')
col_nm=defaultdict(list)
table_nm=['xxxxx','xxxx','xxxxx','xxx']
for i in table_nm:
sql="show create table "+i
df = pd.read_sql(sql,engine)
content=df['Create Table'].values[0]
#print content
with open('/xxxx/xxx/xxxxx.txt','w') as f:
f.write(content)
with open('/xxxxx/xxxx/xxxx.txt','r') as f:
w=[]
for lines in f.readlines():
lines=lines.lower()
content=re.sub(r'bigint.*$|tinyi