0

Scala 2.11 で spark-core バージョン 2.0.1 を使用しています。\エスケープを持つcsvファイルを読み取る簡単なコードがあります。

val myDA = spark.read
      .option("quote",null)
    .schema(mySchema)
    .csv(filePath)

ドキュメントによると、\ は csv リーダーのデフォルトのエスケープです。しかし、うまくいきません。Spark はデータの一部として \ を読み取ります。例: csv ファイルの City 列はnorth rocks\,auです。私は city 列がnorthrocks,auとしてコードで読み取られることを期待しています。しかし代わりに、spark はそれをnorthrocks\として読み取り、 auを次の列に移動します。

私は次のことを試しましたが、うまくいきませんでした:

  • 明示的に定義されたエスケープ .option("escape","\")
  • エスケープを | に変更 または : ファイル内およびコード内
  • spark-csv ライブラリを使用してみました

同じ問題に直面している人はいますか? 何か不足していますか?

ありがとう

4

1 に答える 1

0

したがって、エスケープは引用符でのみ機能します。エスケープしたい場合は、引用符を使用することをお勧めします。

https://github.com/databricks/spark-csv/issues/390

于 2016-10-27T21:59:38.563 に答える