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

Han*_*ans 9 apache-spark pyspark

我有一个 s3 存储桶,其中包含近 10 万个 gzipped JSON 文件。

这些文件被调用[timestamp].json而不是更合理的[timestamp].json.gz.

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

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

有什么办法可以告诉 spark 这些文件是 gzip 压缩的?

xue*_*hui 12

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

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

  • 是的,我知道,但它似乎是从文件名推断压缩的。使用“spark.read.json(FILENAME)”时,仅以“json”或“.json.gzip”结尾的文件似乎失败 (4认同)