2016-10-21 5 views
2

私はcsvファイルにクライアント・データベースをエクスポートして、使用してスパークし、それをインポートしようとしました:いくつかの検証を行った後破損した列を含むCSVデータセットをロードするにはどうすればよいですか?

spark.sqlContext.read 
    .format("csv") 
    .option("header", "true") 
    .option("inferSchema", "true") 
    .load("table.csv") 

をカラムは時々キャリッジを持っているので、私はいくつかのIDがnullだったことを知ります戻る。そして、それはすべての次の列をドミノ効果で移動させ、すべてのデータを破壊しました。

奇妙なことは、printSchemaを呼び出すときに得られるテーブル構造が良好であるということです。

問題を解決するにはどうすればよいですか?

+0

問題を強調するデータ(入力と出力)のサンプルを入力してください – cheseaux

+0

エクスポート元に戻り、そこで作業する必要があります。スパークはそれをうまく扱いません。 – eliasah

答えて

3

inferSchemaでうまくいきました(スキーマを推測するためのレコードがほとんど読み取られないため)、正しい結果が得られました。

CSVエクスポートファイルが壊れていて、Sparkを使用してファイルを処理することを想定しているため(例:サイズが指定されている)、textFileを読み取り、IDを修正してください。これをCSV形式で保存し、再度読み込みます。

+0

残念ながらあなたが正しいです、インポートフェーズでこの問題を解決する方法はありません。 –

関連する問題