共用方式為


展開並讀取 Zip 壓縮檔案

您可以使用 unzip Bash 命令展開已壓縮 Zip 的檔案或檔案目錄。 如果您下載或遇到結尾為 .zip的檔案或目錄,請在嘗試繼續之前,先展開數據。

注意

Apache Spark 提供原生編解碼器來與壓縮的 Parquet 檔案互動。 Azure Databricks 所撰寫的大部分 Parquet 檔案都會以 .snappy.parquet結尾,指出它們使用 snappy 壓縮。

如何解壓縮數據

Azure Databricks %sh magic 命令 可讓您執行任意 Bash 程式代碼,包括 unzip 命令。

下列範例使用從因特網下載的壓縮 CSV 檔案。 請參閱 從因特網下載數據。

注意

您可以使用 Databricks 公用程式,將檔案移至附加至驅動程式的暫時記憶體,再加以擴充。 您無法在檔案位於 Unity 目錄磁碟區時展開 zip 檔案。 請參閱 Databricks Utilities (dbutils) 參考

下列程式代碼會使用 curl 來下載,然後 unzip 展開資料:

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

使用 dbutils 將展開的檔案移至 Unity 目錄磁碟區,如下所示:

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

在此範例中,下載的數據在第一個數據列中有批註,第二個數據列有標頭。 既然數據已展開並移動,請使用標準選項來讀取 CSV 檔案,如下列範例所示:

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