Ich baue eine AWS-Pipeline, um CSV-Dateien von S3 in eine RDS MySQL DB einzufügen. Das TH-Problem, mit dem ich konfrontiert bin, ist, dass wenn es versucht, die Datei zu laden, es Leerzeichen als leere Zeichenfolgen anstelle von NULL behandelt. Zum Beispiel Zeile 1 des CSV ist:Leerzeichen als NULL in MySQL einfügen
"3","John","Doe",""
Wenn der Wert eine ganze Zahl in der MySQL-Tabelle ist, und natürlich auch in der Pipeline der Fehler ist:
Incorrect integer value: '' for column 'col4' at row 1
Ich war die Erforschung der jdbc MySQL paramaters die Verbindungszeichenfolge zu ändern:
jdbc: mysql: // my-rds-Endpunkt: 3306/my_db_name jdbcCompliantTruncation = false
jdbcCompliantTruncationis ist nur ein ex Gibt es einen dieser Parameter, der mir helfen kann, diese Leerzeichen als Nullen einzufügen?
Danke!
EDIT: Ein wenig Kontext, die CSV-Dateien sind leert aus Rotverschiebung, so dass die Rohlinge sind ursprünglich NULLs, wenn ich sie in S3 setzen.
Können Sie wandeln sie vorher? –
IF (urValue = '', null, urValue) –
@AndyHolmes, gute Frage, überprüfen Sie die Bearbeitung – rodrigocf