2017-07-21 13 views
0

私たちはpyspark 1.6を使用しています。圧縮(gzip、lz4、スナップなど)を使用してテキストを他のファイル形式 (Json、csvなど)に変換しようとしています。しかし、作業を圧縮することができません。Pyspark 1.6ファイル圧縮の問題

私たちが試したコードブローを見つけてください。私たちのコードの問題を指摘する際に助けてください。 だけ圧縮のいずれも1.6で作業されていないが、そのスパーク2.Xで正常に動作し、質問に追加する

オプション1:

from pyspark import SparkContext SparkConf 
sqlContext.setConf("spark.sql.parquet.compression.codec", "snappy") 

df = sqlContext.read.format('parquet').load('hdfs:///user/U1/json_parque_snappy') 
df.write.format('json').save('hdfs:///user/U1/parquet_json_snappy') 

オプション2:

df = sqlContext.read.format('parquet').load('hdfs:///user/U1/json_parque_snappy') 
df.write.format('json').option('codec','com.apache.hadoop.io.compress.SnappyCodec').save('hdfs:///user/U1/parquet_json_snappy_4') 

オプション3:

df = sqlContext.read.format('parquet').load('hdfs:///user/U1/json_parque_snappy') 
df.write.format('json').option('compression','snappy').save('hdfs:///user/U1/parquet_json_snappy') 
+0

を使用することができ、クラス名は、第1に間違って見えます。 Bzip2またはGzipで試してみることができますか?クラス名は以下のとおりです:[org.apache.hadoop.io.compress](https://hadoop.apache.org/docs/r2.6.1/api/org/apache/hadoop/io/compress/package-summary。 html) – philantrovert

+0

@philantrovert:迅速な対応に感謝します。私は示唆したように試みましたが、運はありません。その圧縮されていない。 f.write.format( 'json').option( 'codec'、 'org.apache.hadoop.io.compress.BZip2Codec').save( 'hdfs:/// user/U1/parquet_json_bzip1') –

答えて

0

spark 1.6では、テキスト/ json出力を保存するには、

spark.hadoop.mapred.output.compression.codec parameter 

設定するパラメータは4つあります。スパーク2.xでは

を。これは、既に回答されており、詳細はthisリンクであり、APIは単純であり、あなたが

df.write.option("compression", "gzip")