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

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

Примечание.

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

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

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

В следующем примере используется zippped CSV-файл, скачанный из Интернета. Вы также можете использовать служебные программы Databricks для перемещения файлов в том драйвера перед их расширением. См. справочные материалы по скачиванию данных из Интернета и 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 для перемещения развернутого файла обратно в облачное хранилище объектов, чтобы разрешить параллельное чтение, как показано ниже:

dbutils.fs.mv("file:/LoanStats3a.csv", "dbfs:/tmp/LoanStats3a.csv")

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

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