2016-10-16 2 views
2

問題はかなり奇妙です。私が圧縮されていないファイルを扱う場合、問題はありません。しかし、圧縮されたbz2ファイルを処理すると、インデックス外のエラーが発生します。bzip2 csvデータでデータフレーム結合を実行するとインデックスが範囲外になるエラー

私が読んだところでは、明らかにspark-csvパーサーで行末の文字は検出されず、すべてが巨大な行として読み取られます。圧縮されていないCSVでは動作しますが、.csv.bz2ファイルでは動作しません。

また、私が言ったように、データフレームユニオンを行うときにのみ発生します。私はスパークコンテキスト、同じエラーでrddのユニオンをしようとしました。

+1

あなたはこのバグを打つかもしれない:https://issues.apache.org/jira/browse/HADOOP-10614を - あなたはどのようなHadoopのバージョンを使用していますか? –

+0

私は火花2.0.0です。このエラーです、私は同じスタックトレースを取得しています。それは固定だが、spark-csvはそのライブラリの古いバージョンを使用しているか、実際には修正されていないという。 どのように手動で修正することができますか? – flipper2gv

+0

SparkはさまざまなHadoopのバージョンで実行できます - どれを使用していますか?このバグは2.5.0で修正されているようですが、以前のバージョンを使用しているのであればおそらくそれです。 –

答えて

2

私の全面的な問題は、私がScala-IDEを使用していたことでした。私はhadoop 2.7を使用していると思ったが、私はmvn eclipseを実行しなかった:私のm2_repoを更新するためにEclipseを使用していたので、まだhadoop 2.2を使用していた(参照されたライブラリでは、なぜか分からない)。

将来的には、spark-csvの使用を計画している場合、spoak-coreが単独でhadoopのバージョンを参照しているにも関わらず、pom.xmlにhadoopバージョンを指定することを忘れないでください。

<dependency> 
     <groupId>org.apache.hadoop</groupId> 
     <artifactId>hadoop-client</artifactId> 
     <version>2.7.3</version> 
    </dependency> 


    <dependency> 
     <groupId>org.apache.spark</groupId> 
     <artifactId>spark-core_2.11</artifactId> 
     <version>2.0.1</version> 
    </dependency> 
+0

Spark 2.0ではspark-csvは必要ありません。 CSVソースは既に組み込まれています。 –

関連する問題