使用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解压缩文件?的主要内容,如果未能解决你的问题,请参考以下文章
如何用java进行多线程解压缩大文件夹 - 首选java8?