Spark で大きな (50 GB などの) bz2 ファイルを効率的に取り込む方法はありますか? 私は Spark 1.6.1、それぞれ 30 GB の RAM を持つ 8 つのエグゼキューターを使用しています。当初、各エグゼキュータには 4 つのコアがありました。ただし、bz2 ファイルを textFile() で開くと、ArrayOutOfBoundsException がスローされます。ここ(およびウェブ上の他のスレッド)で報告されているようにhttp://apache-spark-user-list.1001560.n3.nabble.com/java-lang-ArrayIndexOutOfBoundsException-using-sc-textFile-on-BZ2-compressed-files -td22905.html、Hadoop が使用する bz2 デコンプレッサはスレッド セーフではないため、Spark のようなマルチスレッド環境で問題が発生します。これを回避するために、上記の Web ページで提案されているように、executor ごとのコア数を 1 に設定しましたが、これにより全体的な計算が遅くなります。
Hadoop 2.4.0.2.1.1.0-390 を使用しています。これについて何か考えはありますか?
ありがとう、
マルコ