gpt4 book ai didi

hadoop - 如何通过 Spark 打开/流式传输 .zip 文件?

转载 作者:可可西里 更新时间:2023-11-01 14:14:15 25 4
gpt4 key购买 nike

我有一些 zip 文件,我想“通过”Spark 打开这些文件。由于 Hadoops native 编解码器支持,我可以毫无问题地打开 .gzip 文件,但无法打开 .zip 文件。

有没有一种简单的方法可以在您的 Spark 代码中读取 zip 文件?我还搜索了 zip 编解码器实现以添加到 CompressionCodecFactory,但到目前为止我没有成功。

最佳答案

python 代码没有解决方案,我最近不得不在 pyspark 中读取 zip。而且,在搜索如何做到这一点时,我遇到了这个问题。因此,希望这会对其他人有所帮助。

import zipfile
import io

def zip_extract(x):
in_memory_data = io.BytesIO(x[1])
file_obj = zipfile.ZipFile(in_memory_data, "r")
files = [i for i in file_obj.namelist()]
return dict(zip(files, [file_obj.open(file).read() for file in files]))


zips = sc.binaryFiles("hdfs:/Testing/*.zip")
files_data = zips.map(zip_extract).collect()

在上面的代码中,我返回了一个字典,其中 zip 中的文件名作为键,每个文件中的文本数据作为值。您可以根据自己的目的更改它。

关于hadoop - 如何通过 Spark 打开/流式传输 .zip 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28569788/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com