Поделиться через


Развертывание и чтение сжатых zip-файлов

С помощью unzip команды Bash можно развернуть файлы или каталоги файлов, которые были сжаты. Если вы скачиваете или сталкиваетесь с файлом или каталогом, разверните .zipданные перед продолжением.

Примечание.

Apache Spark предоставляет собственные кодеки для взаимодействия с сжатыми файлами Parquet. Большинство файлов Parquet, написанных Azure Databricks, заканчиваются .snappy.parquetс указанием, что они используют сжатие snappy.

Как распакуировать данные

Магическая команда Azure Databricks %sh позволяет выполнять произвольный код Bash, включая unzip команду.

В следующем примере используется zippped CSV-файл, скачанный из Интернета. См. статью "Скачать данные из Интернета".

Примечание.

Служебные программы Databricks можно использовать для перемещения файлов в эфемерное хранилище, подключенное к драйверу, перед их расширением. Вы не можете развернуть ZIP-файлы во время их проживания в томах каталога Unity. См . справочник по databricks Utilities (dbutils).

Следующий код используется curl для скачивания, а затем unzip для расширения данных:

%sh curl https://resources.lendingclub.com/LoanStats3a.csv.zip --output /tmp/LoanStats3a.csv.zip
unzip /tmp/LoanStats3a.csv.zip

Используйте dbutils для перемещения развернутого файла в том каталога Unity следующим образом:

dbutils.fs.mv("file:/LoanStats3a.csv", "/Volumes/my_catalog/my_schema/my_volume/LoanStats3a.csv")

В этом примере скачанные данные имеют комментарий в первой строке и заголовок во втором. Теперь, когда данные были развернуты и перемещены, используйте стандартные параметры для чтения CSV-файлов, как показано в следующем примере:

df = spark.read.format("csv").option("skipRows", 1).option("header", True).load("/Volumes/my_catalog/my_schema/my_volume/LoanStats3a.csv")
display(df)