Разархивируйте файл в хранилище BLOB-объектов Azure из Databricks.Python

Программы на Python
Ответить
Anonymous
 Разархивируйте файл в хранилище BLOB-объектов Azure из Databricks.

Сообщение Anonymous »

Я пытаюсь разархивировать файл, находящийся в контейнере Azure ADLS Gen2, с помощью Azure Databricks Pyspark. Когда я использую ZipFile, я получаю ошибку BadZipFile или FileNotFoundError.
Я могу читать CSV-файлы в той же папке, но не zip-файлы.
Путь к файлу zip — это тот же путь, который я получил из dbutils.fs.ls(blob_folder_url).
Код BadZipeFile:
Изображение
Код FileNotFound:
Изображение

Чтение кода CSV:
Изображение

Код:

Код: Выделить всё

import zipfile, os, io, re

# Azure Blob Storage details
storage_account_name = ""
container_name = ""
folder_path = ""

blob_folder_url = f"abfss://{container_name}@{storage_account_name}.dfs.core.windows.net/{folder_path}"
zip_file = blob_folder_url + 'batch1_weekly_catman_20241109.zip'

# List files in the specified blob folder
files = dbutils.fs.ls(blob_folder_url)

for file in files:
# Check if the file is a ZIP file
if file.name.endswith('.zip'):
print(f"Processing ZIP file: {file.name}")

# Read the ZIP file into memory
zip_file_path = file.path
zip_blob_data = dbutils.fs.head(zip_file_path)  # Read the ZIP file content

# Unzip the file
with zipfile.ZipFile(io.BytesIO(zip_blob_data.encode('utf-8')), 'r') as z:
print('zipppppppper')
# with zipfile.ZipFile(zip_file, 'r') as z:
#     print('zipppppppper')
Сообщения об ошибках:
  • BadZipFile: файл не является ZIP-файлом
    FilenotFoundError: [Errno 2] Нет
    такого файла или каталога


Подробнее здесь: https://stackoverflow.com/questions/791 ... databricks
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»