【问题标题】:Can I tell spark.read.json that my files are gzipped?我可以告诉 spark.read.json 我的文件被压缩了吗?
【发布时间】:2019-08-12 20:45:44
【问题描述】:

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

这些文件被称为[timestamp].json,而不是更合理的[timestamp].json.gz

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

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

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

【问题讨论】:

    标签: apache-spark pyspark


    【解决方案1】:

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

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

    【讨论】:

    • 是的,我知道,但它似乎从文件名推断压缩。仅以 json.json.gzip 结尾的文件在使用 spark.read.json(FILENAME) 时似乎会失败
    • @Hans 你最后找到解决办法了吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-13
    • 1970-01-01
    • 2020-12-31
    • 2021-01-27
    • 1970-01-01
    相关资源
    最近更新 更多