2017-05-10 5 views
1

私は、ファーストパラレルを使用して、パンダのデータフレームをパーケットファイルに変換しています。 pysparkを使っていた以前のアプローチよりもはるかに高速です。fastparquet:rleのエンコードを無効にする方法

私は私が解決するために管理いくつかの問題を持っていた、すなわち

sqlCtx.read.parquet('/tmp/parquet/test.parquet') 

火花を使用して、これらの寄木細工のファイルを読みたいです。私が今問題になっているのは、RLEエンコーディングです。私はpysparkと寄木細工のファイルを読み込むしようとすると、私は次のJavaの例外を取得しています:

Unsupported encoding: RLE 

はfastparquet writeメソッドを使用するときにRLEを無効にする方法はありますか?

答えて

1

これは短い整数( 'int8'、 'int16'、 'uint8'、 'uint16')のfastparquetにおける最適化です。残念なことに、sparkは完全な寄木細工仕様をサポートしていません。

sparkでデータを読み込みたい場合は、まず32または64ビットの整数列を変換する必要があります。

これらの問題がパフォーマンスを犠牲にして消え去るが、今は具体的な計画がない場合、「互換モード」を実装することが検討されています。

関連する問題