Apache spark Spark不使用Spark.sql.parquet.compression.codec
我正在比较spark的parquets文件和ApacheDrill的。 Drill的拼花地板比spark的要轻得多。Spark默认使用GZIP作为压缩编解码器,为了进行实验,我尝试将其更改为 斯内皮:同样大小 未压缩:大小相同 lzo:例外 我试了两种方法:Apache spark Spark不使用Spark.sql.parquet.compression.codec,apache-spark,Apache Spark,我正在比较spark的parquets文件和ApacheDrill的。 Drill的拼花地板比spark的要轻得多。Spark默认使用GZIP作为压缩编解码器,为了进行实验,我尝试将其更改为 斯内皮:同样大小 未压缩:大小相同 lzo:例外 我试了两种方法: sqlContext.sql("SET spark.sql.parquet.compression.codec=uncompressed") sqlContext.setConf("spark.sql.parquet.compression
sqlContext.sql("SET spark.sql.parquet.compression.codec=uncompressed")
sqlContext.setConf("spark.sql.parquet.compression.codec.", "uncompressed")
但似乎没有改变他的设置试试:
sqlContext.setConf("spark.sql.parquet.compression.codec", "snappy")
我知道你已经这么做了,但我无法在手机上删除我的答案。尝试在注释中建议的sqlcontext之前设置此选项。对于spark 1.3和spark.sql.parquet.compression.codec参数,没有压缩输出。但下面的一个确实有效
sqlContext.sql(“SET parquet.compression=SNAPPY”)试试这个。似乎在1.6.0中对我有效
val sc = new SparkContext(sparkConf)
val sqlContext = new HiveContext(sc)
sqlContext.setConf("spark.sql.parquet.compression.codec", "uncompressed")
通过配置单元上下文存储到配置单元时遇到问题时,请使用:
在2.1.1中为我工作
df.write.option("compression","snappy").parquet(filename)
对于Spark 1.6:
您可以使用不同的压缩编解码器。尝试:
sqlContext.setConf("spark.sql.parquet.compression.codec","gzip")
sqlContext.setConf("spark.sql.parquet.compression.codec","lzo")
sqlContext.setConf("spark.sql.parquet.compression.codec","snappy")
sqlContext.setConf("spark.sql.parquet.compression.codec","uncompressed")
在创建上下文之前,是否尝试在SparkConf对象中设置此参数?某些参数仅在创建上下文时读取。我还注意到在第二行的参数名称末尾有一个额外的点(“.”)-如果您是这样尝试的,并且这不仅仅是复制粘贴错误,这可能是原因..Spark 1.6.3的此解决方案对我不起作用,但此解决方案确实起作用
sqlContext.sql(“SET spark.sql.parquet.compression.codec=snappy”)
sqlContext.setConf("spark.sql.parquet.compression.codec","gzip")
sqlContext.setConf("spark.sql.parquet.compression.codec","lzo")
sqlContext.setConf("spark.sql.parquet.compression.codec","snappy")
sqlContext.setConf("spark.sql.parquet.compression.codec","uncompressed")