Expandir e ler ficheiros comprimidos Zip
Você pode usar o unzip
comando Bash para expandir arquivos ou diretórios de arquivos que foram compactados Zip. Se você baixar ou encontrar um arquivo ou diretório que termine com .zip
, expanda os dados antes de tentar continuar.
Nota
O Apache Spark fornece codecs nativos para interagir com arquivos Parquet compactados. A maioria dos arquivos Parquet gravados pelo Azure Databricks termina com .snappy.parquet
, indicando que eles usam compactação rápida.
Como descompactar dados
O comando magic do Azure Databricks %sh
permite a execução de código Bash arbitrário, incluindo o unzip
comando.
O exemplo a seguir usa um arquivo CSV compactado baixado da Internet. Consulte Download de dados da internet.
Nota
Você pode usar os utilitários Databricks para mover arquivos para o armazenamento efêmero anexado ao driver antes de expandi-los. Não é possível expandir arquivos zip enquanto eles residem em volumes do Catálogo Unity. Consulte Referência de utilitários Databricks (dbutils).
O código a seguir usa curl
para baixar e, em seguida, unzip
para expandir os dados:
%sh curl https://resources.lendingclub.com/LoanStats3a.csv.zip --output /tmp/LoanStats3a.csv.zip
unzip /tmp/LoanStats3a.csv.zip
Use dbutils para mover o arquivo expandido para um volume do Catálogo Unity, da seguinte maneira:
dbutils.fs.mv("file:/LoanStats3a.csv", "/Volumes/my_catalog/my_schema/my_volume/LoanStats3a.csv")
Neste exemplo, os dados baixados têm um comentário na primeira linha e um cabeçalho na segunda. Agora que os dados foram expandidos e movidos, use opções padrão para ler arquivos CSV, como no exemplo a seguir:
df = spark.read.format("csv").option("skipRows", 1).option("header", True).load("/Volumes/my_catalog/my_schema/my_volume/LoanStats3a.csv")
display(df)