2017-02-01 23 views
0

私はsparkを使用していますが、hdfs(zip、gzip、7zip、tar、bz2、tar.gzなど)では圧縮ファイルの種類が異なります。誰でも私に解凍のための最善の方法を教えてもらえますか?いくつかの圧縮では、私はCompressionCodecを使うことができました。しかし、それはすべての圧縮形式をサポートしていません.zipファイルについては、私はいくつかの検索を行い、ZipFileInputFormatを使用できることを発見しました。しかし、私はこれのための瓶を見つけることができませんでした。sparkでhdfsからファイルを解凍する

+0

あなたはJavaで独自の入力形式とレコードリーダーを書くとスカラ座にインポートすることができます。 https://gist.github.com/jteso/1868049 –

+0

[zip、7zip、tarは*アーカイブ*であり、必ずしも「圧縮」されているわけではありません。](http://superuser.com/questions/173756/which-is-more- BZip2とGzipの違いと同じ(効率的なtar-or-zip-compression-what-the-the-difference-between)(gzとgzipは同じです... tar.gzは圧縮されたtarアーカイブです)。とにかく、BZip2はHDFS内の最良のオプションです。http://comphadoop.weebly.com/index.html –

答えて

0

いくつかの圧縮形式(tar.gzとzipには当てはまり、他の圧縮形式についてはテストしていないことがわかっています)では、Dataframe APIを直接使用することができます。

val df = spark.read.json("compressed-json.tar.gz")

+0

こんにちは@Benはtarファイルでは動作しますが、zipファイルでは動作しません。私はスカラ1.6とスカラ2.10.2を使用しています –

関連する問題