Ich bin mit Funken csv einen Datenrahmen in CSV zu konvertieren, bevor ich in in eine Rotverschiebung Tabelle laden kann. Der Spark-CSV fügt einen Backslash hinzu, um den doppelten Anführungszeichen zu entgehen, was ich erwarten würde. Aber wenn der Kopierbefehl versucht, in eine Rotverschiebung zu laden, fügt er einen Backsplash zum Backsplash hinzu. Wie kann ich das verhindern?Rotverschiebung fügt Charakter entkommen
Hier ist ein Beispielcode:
df= sqlContext.createDataFrame([("1A", 123456, "first example"), ("1B", 123457, "It's a \"problem\"")], ['id', 'time', 'xstr'])
+---+------+----------------+
| id| time| xstr|
+---+------+----------------+
| 1A|123456| first example|
| 1B|123457|It's a "problem"|
+---+------+----------------+
df.coalesce(1).write.format("com.databricks.spark.csv").option("header", "false")\
.option("quoteMode", "NON_NUMERIC")\
.save(fname)
RS Kopieren-Befehl: COPY xxxx FROM YYYY Trennzeichen '' FORMAT CSV
Es Fehler und die STL_LOAD_ERRORS Tabelle enthält diese:
1B,123457,"It's a \\"problem\\""
Wie kann ich Rotverschiebung entweicht ein Escape-Zeichen zu verhindern?
BTW, wahrscheinlich möchten Sie auch 'REMOVEQUOTES' verwenden, um die äußeren Anführungszeichen aus Ihren Textzeichenfolgen zu entfernen. –
Guter Fang. Vielen Dank. –