这两天把一个本地的数据插入到HIVE表中,本以为三下五除二能搞定,结果搞了好久,之前没有特别理解。现在记录下:
w_sql = "select count(1) from %s" % ('wg_pre')
w_sql = "insert into table wg_pre values (%s, %s, %s,%s)" % ('5.10115E+10', '2021/7/17', '3:00', 129199)
image.png
这样是查表'wg_pre'的行数,没有报错;但把几个值插入到表中时直接用%s就报错,但改为下列语句即可执行。
w_sql = "insert into table wg_pre values ('%s', '%s', '%s',%s)" % ('5.10115E+10', '2021/7/17', '3:00', 129199)
image.png
原因
%s表示数字类型,如NUMBER;
'%s'表示字符串类型,如VARCHAR2。
%d 是整型
%f 浮点数,即带小数点的数
网友评论