Expandir e ler arquivos compactados Zip
Você pode usar o comando Bash unzip
para expandir arquivos ou diretórios de arquivos que foram compactados em Zip. Se você downloads ou encontrar um arquivo ou diretório que termine com .zip
, expanda os dados antes de tentar continuar.
Observação
O Apache Spark fornece codecs nativos para interagir com arquivos Parquet compactados. A maioria dos arquivos Parquet gravados pela Databricks termina com .snappy.parquet
, indicando que eles usam compressão rápida.
Como descompactar dados
O comando mágico Databricks %sh
permite a execução de código Bash arbitrário, incluindo o comando unzip
.
O exemplo a seguir usa um arquivo zipado CSV baixado da Internet. Consulte Download de dados da Internet.
Observação
O senhor pode usar o Databricks utilidades para mover arquivos para o armazenamento efêmero anexado ao driver antes de expandi-los. O senhor não pode expandir arquivos zip enquanto eles residirem em volumes do Unity Catalog. Consulte a referênciaDatabricks utilidades (dbutils).
O código a seguir usa curl
para downloads e 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 o dbutils para mover o arquivo expandido para um volume do Unity Catalog, como segue:
dbutils.fs.mv("file:/LoanStats3a.csv", "/Volumes/my_catalog/my_schema/my_volume/LoanStats3a.csv")
Neste exemplo, os dados downloads possuem um comentário na primeira linha e um cabeçalho na segunda. Agora que os dados foram expandidos e movidos, use as opções padrão para leitura de 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)