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


Распаковка и чтение сжатых ZIP-файлов

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

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

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

Команда magic<\/c1> в Azure Databricks позволяет выполнять произвольный код Bash, включая команду .

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

Используйте служебные программы Databricks для перемещения файлов в эфемерное хранилище, подключенное к драйверу, прежде чем расширять их.

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

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

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

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)