Pyspark 1.6 文件压缩问题



我们正在使用 pyspark 1.6。 并尝试将文本转换为其他文件格式 (如Json,csv等(与压缩(gzip,lz4,snappy等(。但看不到压缩工作。

请找到我们尝试过的代码打击。 请帮助我们指出代码中的问题,否则建议解决方法。 只是为了补充这个问题,没有任何压缩在 1.6 中起作用,但它在 Spark 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')

对于 Spark 1.6,要保存文本/json 输出,请尝试使用

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

有 4 个参数需要设置。这已经得到了回答,更多详细信息在此链接中

使用Spark 2.x,API更简单,您可以使用

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

最新更新