使用python如何用spark解压缩文件?

Posted

技术标签:

【中文标题】使用python如何用spark解压缩文件?【英文标题】:Using python how to uncompress files with spark? 【发布时间】:2021-04-14 21:11:26 【问题描述】:
def compress():
    if args['compression'] == 'Yes':

        for day in getdate():
            x = str(day.strftime('%Y/%m/%d')).replace("/0","/")
            print (x)

            loc_postfix = log_type+"/"+x
            location = "s3://bucket/rawfiles/"+loc_postfix+"/*"
            compressed_path = "s3://bucket/compressfiles/"+loc_postfix+""
            rawfile = spark.read.text(location).repartition(partitions)
            rawfile.write.text(compressed_path, compression="bzip2")

这是我用于压缩文件的代码,但现在我正试图弄清楚如何使用 spark 解压缩文件。为了压缩,我从按年/月/日分区的 rawfiles 文件夹中读取文件,然后使用分区压缩到 bz2(这只会创建指定数量的文件,例如 bz2:100 个文件按 20 分区将产生 20 个 bz2 文件)。此代码在胶水作业中运行。

【问题讨论】:

需要解压什么? Spark 应该检测到文件已压缩,并且您无需在代码中明确执行任何操作来解压缩它们。您是否有某种无法运行的代码? 【参考方案1】:

spark.read 应该会自动处理压缩文件,读取前不需要解压。

【讨论】:

以上是关于使用python如何用spark解压缩文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何用WinRAR解压缩7z分卷文件

如何用WinRAR解压缩7z分卷文件

如何用WinRAR解压缩7z分卷文件

如何用java进行多线程解压缩大文件夹 - 首选java8?

Spark - 如何将 Bz2 文件解压缩为 parquet 文件

如何用nodejs压缩文件,生成tar包