mysql可以使用nevicat导出insert语句用于数据构造,但是hive无法直接导出insert语句。我们可以先打印在hive命令行,然后使用脚本拼装成insert语句,进行数据构造。
手动copy到python脚本进行sql语句构造:
def transformString(s):
list_s = s.split('\t')
print(len(list_s))
s_new = ''
for item in list_s:
s_new += '\"' + item.strip(' ') + '\"' + ','
return str(s_new.rstrip(','))
# 为手动copy hive命令行打印输出的记录
s = "555 helloworld"
s_new = transformString(s)
sql = 'insert into dw.test PARTITION (ymd = \'2019-03-18\') values({});'.format(s_new)
print(sql)
结果:
insert into dw.test PARTITION (ymd = '2019-03-18') values("555","helloworld");