使用 PySpark 我正在尝试使用压缩保存 Avro 文件(最好是 snappy)。
这行代码成功保存了一个 264MB 的文件:
df.write.mode('overwrite').format('com.databricks.spark.avro').save('s3n://%s:%s@%s/%s' % (access_key, secret_key, aws_bucket_name, output_file))
当我添加编解码器选项.option('codec', 'snappy')
时,代码成功运行,但文件大小仍为 264MB:
df.write.mode('overwrite').option('codec', 'snappy').format('com.databricks.spark.avro').save('s3n://%s:%s@%s/%s' % (access_key, secret_key, aws_bucket_name, output_file))
我也尝试过'SNAPPY'
,'Snappy'
它也成功运行,但文件大小相同。
我已经阅读了文档,但它侧重于 Java 和 Scala。这在 PySpark 中不支持吗,Snappy 是默认的并且没有记录,还是我没有使用正确的语法?还有一个相关的问题(我假设),但它专注于 Hive 并且没有答案。
TIA