Zip圧縮ファイルを展開して読み取る
unzip
Bash コマンドを使用して、Zip 圧縮されたファイルまたはファイルのディレクトリを展開できます。.zip
で終わるファイルまたはディレクトリをダウンロードまたは検出した場合は、続行する前にデータを展開してください。
注
Apache Spark は、圧縮された Parquet ファイルと対話するためのネイティブ コーデックを提供します。 Databricks によって書き込まれるほとんどの Parquet ファイルは.snappy.parquet
で終わり、snappy 圧縮を使用していることを示します。
データを解凍する方法
Databricks %sh
マジック コマンドを使用すると、 unzip
コマンド を含む任意の Bash コードを実行できます。
次の例では、インターネットからダウンロードした圧縮された CSV ファイルを使用します。 インターネットからのデータのダウンロードを参照してください。
注
Databricks ユーティリティを使用すると、ファイルを拡張する前に、ドライバーに接続された一時ストレージに移動できます。 zip ファイルは、 Unity Catalogボリューム内にある間は展開できません。 Databricks ユーティリティ (dbutils) リファレンスを参照してください。
次のコードでは、 curl
を使用してデータをダウンロードし、 unzip
してデータを展開します。
%sh curl https://resources.lendingclub.com/LoanStats3a.csv.zip --output /tmp/LoanStats3a.csv.zip
unzip /tmp/LoanStats3a.csv.zip
次のように、dbutils を使用して、展開されたファイルをUnity Catalogボリュームに移動します。
dbutils.fs.mv("file:/LoanStats3a.csv", "/Volumes/my_catalog/my_schema/my_volume/LoanStats3a.csv")
この例では、ダウンロードされたデータの最初の行にコメントがあり、2 番目の行にヘッダーがあります。 データが展開および移動されたので、次の例のように、CSV ファイルを読み取るための標準オプションを使用します。
df = spark.read.format("csv").option("skipRows", 1).option("header", True).load("/Volumes/my_catalog/my_schema/my_volume/LoanStats3a.csv")
display(df)