def zip_extract(x):
print('hello')
fn=x[0]
in_memory_data = io.BytesIO(x[1])
file_obj = zipfile.ZipFile(in_memory_data, "r")
files = [i for i in file_obj.namelist()]
items_to_remove=['user.txt']
zin = zipfile.ZipFile (in_memory_data, 'r')
bytIO = io.BytesIO()
zout = zipfile.ZipFile (bytIO, 'w')
for member in zin.namelist():
print(member)
match=0
for item in items_to_remove:
if(item in member):
match=1
break
if(match==0):
buffer = zin.read(member)
zout.writestr(member, buffer)
return dict(fn=bytIO)
zips = sc.binaryFiles('/mnt/.../file.zip')
files_data = zips.map(zip_extract).collect()
files_data - это список dict, каждый dict имеет один элемент с именем файла в качестве ключа и данными в качестве значения, я хочу записать данные как файл непосредственно в озеро данных