Delen via


Gecomprimeerde zip-bestanden uitvouwen en lezen

U kunt de unzip Bash-opdracht gebruiken om bestanden of mappen uit te vouwen van bestanden die zijn gecomprimeerd met Zip. Als u een bestand of map downloadt of tegenkomt dat eindigt .zip, vouwt u de gegevens uit voordat u doorgaat.

Notitie

Apache Spark biedt systeemeigen codecs voor interactie met gecomprimeerde Parquet-bestanden. De meeste Parquet-bestanden die zijn geschreven door Azure Databricks eindigen met .snappy.parquet, waarmee wordt aangegeven dat ze snappy-compressie gebruiken.

Gegevens uitpakken

Met de Magic-opdracht van Azure Databricks %shkunt u willekeurige Bash-code uitvoeren, inclusief de unzip opdracht.

In het volgende voorbeeld wordt een gezipt CSV-bestand gebruikt dat is gedownload van internet. Zie Gegevens downloaden van internet.

Notitie

U kunt de Databricks Utilities gebruiken om bestanden te verplaatsen naar de tijdelijke opslag die aan het stuurprogramma is gekoppeld voordat u ze uitbreidt. U kunt zip-bestanden niet uitvouwen terwijl ze zich in Unity Catalog-volumes bevinden. Zie de naslaginformatie over Databricks Utilities (dbutils).

De volgende code gebruikt curl om de gegevens te downloaden en vervolgens unzip uit te vouwen:

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

Gebruik dbutils om het uitgebreide bestand als volgt te verplaatsen naar een Unity Catalog-volume:

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

In dit voorbeeld bevatten de gedownloade gegevens een opmerking in de eerste rij en een koptekst in de tweede. Nu de gegevens zijn uitgebreid en verplaatst, gebruikt u standaardopties voor het lezen van CSV-bestanden, zoals in het volgende voorbeeld:

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