我可以告诉spark.read.json我的文件已压缩吗?

时间:2018-09-10 07:30:41

标签: apache-spark pyspark

我有一个s3存储桶,其中包含将近100k压缩的JSON文件。

这些文件称为[timestamp].json,而不是更明智的[timestamp].json.gz

我还有其他使用它们的进程,因此重命名不是一种选择,并且复制它们甚至不太理想。

我正在使用spark.read.json([pattern])来读取这些文件。如果我将文件名重命名为包含.gz,则可以正常工作,但是扩展名仅为.json,无法读取它们。

有什么办法可以告诉Spark这些文件已压缩吗?

2 个答案:

答案 0 :(得分:1)

SparkSession可以直接读取压缩的json文件,就像这样:

val json=spark.read.json("/user/the_file_path/the_json_file.log.gz") json.printSchema()

答案 1 :(得分:0)

是的,您可以将compression选项发送到spark.read

spark.read.option('compression', 'gzip').json(...)