2017-05-13 4 views
0

Ich versuche, Zeichen in Python Impyla Abfrage für Cloudera Impala auf Hadoop zu entkommen, aber nichts scheint zu funktionieren. Die Vorlage Syntax nicht entkommen (Ungewöhnlich für eine Datenbank API ..)Wie fange ich Zeichen in Python Impyla Abfrage für Cloudera Impala läuft auf Hadoop

cursor.execute('SELECT * from table where col1 = %s', tuple(["John's unescaped string"])) 

erzeugt einen Fehler.

Selbst

cursor.execute('SELECT * from table where col1 = %s', tuple([json.dumps("John's unescaped string")])) 

nicht funktioniert, hat jemand eine Idee, wie eine Lösung dafür bieten? Gibt es einen besseren Weg oder eine voll funktionsfähige Impala-Bibliothek für Python?

+0

Können Sie dies bearbeiten, um den Fehler anzuzeigen, der produziert wird? – Jared

Antwort

0

Sie können eine parametrisierte Abfrage mit ? Platzhalter

cursor.execute('INSERT INTO table VALUES (?, ?);', (var1, var2))

verwenden jedoch impyla hat noch andere Probleme mit Zitat-Flucht und Unicode, die ich noch nicht vollständig herausgefunden haben.

Verwandte Themen