Compartir a través de


Expansión y lectura de archivos comprimidos ZIP

Puede usar el comando de Bash unzip para expandir archivos o directorios de archivos ZIP comprimidos. Si descarga o encuentra un archivo o directorio que termina en .zip, expanda los datos antes de intentar continuar.

Nota:

Apache Spark proporciona códecs nativos para interactuar con archivos Parquet comprimidos. La mayoría de los archivos Parquet escritos por Azure Databricks terminan con .snappy.parquet, lo que indica que usan compresión snappy.

Cómo descomprimir datos

El comando magic %sh de Azure Databricks permite la ejecución de código Bash arbitrario, incluido el comando unzip.

En el ejemplo siguiente se usa un archivo CSV comprimido descargado de Internet. Consulte Descargar datos de Internet.

Nota:

Puede usar las utilidades de Databricks para mover archivos al almacenamiento efímero asociado al controlador antes de expandirlos. No se pueden expandir archivos ZIP mientras residen en volúmenes de Unity Catalog. Consulte Referencia de utilidades de Databricks (dbutils).

El código siguiente usa curl para descargar y, después, unzip para expandir los datos:

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

Use dbutils para mover el archivo expandido a un volumen de Unity Catalog, como se indica a continuación:

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

En este ejemplo, los datos descargados tienen un comentario en la primera fila y un encabezado en la segunda. Ahora que los datos se han expandido y movido, use opciones estándar para leer archivos CSV, como en el ejemplo siguiente:

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