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 %sh
kunt 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)