Dela via


Expandera och läs komprimerade zip-filer

Du kan använda unzip Bash-kommandot för att expandera Komprimerade zip-filer eller kataloger för filer. Om du laddar ned eller stöter på en fil eller katalog som slutar med .zipexpanderar du data innan du fortsätter.

Apache Spark tillhandahåller interna codecs för interaktion med komprimerade Parquet-filer. De flesta Parquet-filer som skrivits av Azure Databricks slutar med .snappy.parquet, vilket indikerar att de använder snabb komprimering.

Så här packar du upp data

Azure Databricks %shmagiska kommando möjliggör körning av godtycklig Bash-kod, inklusive unzip kommandot.

I följande exempel används en zippad CSV-fil som hämtats från Internet. Se Ladda ned data från Internet.

Använd Databricks Utilities för att flytta filer till den tillfälliga lagring som är kopplad till drivrutinen innan du expanderar dem.

Den här koden använder curl för att ladda ned data och sedan unzip för att expandera den:

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

Använd dbutils för att flytta den expanderade filen till en Unity Catalog-volym på följande sätt:

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

I det här exemplet har nedladdade data en kommentar på den första raden och en rubrik i den andra. Nu när du har flyttat och expanderat data använder du standardalternativ för att läsa CSV-filer, som i följande exempel:

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