Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pyspark 1.6文件压缩问题_Pyspark_Pyspark Sql - Fatal编程技术网

Pyspark 1.6文件压缩问题

Pyspark 1.6文件压缩问题,pyspark,pyspark-sql,Pyspark,Pyspark Sql,我们正在使用pyspark 1.6。正在尝试将文本转换为其他文件格式 (如Json、csv等)和压缩(gzip、lz4、snappy等)。但无法看到压缩工作 请找到我们试过的密码。请帮助我们指出代码中的问题,否则建议解决方法。 只是想补充一个问题,在1.6中没有一个压缩是有效的,但是在spark 2.X中它工作得很好 备选案文1: from pyspark import SparkContext SparkConf sqlContext.setConf("spark.sql.parquet.co

我们正在使用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")

第二个类名中的类名看起来有误。你能试试Bzip2或Gzip吗。这里列出了类名:@philantrovert:感谢您的快速响应。我已按建议试过了,但运气不好。它没有被压缩。f、 write.format('json').option('codec','org.apache.hadoop.io.compress.BZip2Codec').save('hdfs:///user/U1/parquet_json_bzip1')