我试图在hadoop上对cloudera impala的python impyla查询中的字符进行转义,但似乎什么都不起作用。。模板语法没有转义(对于数据库api来说是不寻常的..)
cursor.execute('SELECT * from table where col1 = %s', tuple(["John's unescaped string"]))
产生错误。
甚至
cursor.execute('SELECT * from table where col1 = %s', tuple([json.dumps("John's unescaped string")]))
不起作用,有人知道如何解决这个问题吗?有没有更好的方法或功能更全面的impala python库?
1条答案
按热度按时间alen0pnh1#
可以将参数化查询用于
?
占位符cursor.execute('INSERT INTO table VALUES (?, ?);', (var1, var2))
不过,impyla在引号转义和unicode方面还有其他问题,我还没有完全弄清楚。