可以使用 unzip
Bash 命令展开 Zip 压缩文件或文件目录。 如果下载或遇到以.zip
结尾的文件或目录,请在继续之前展开数据。
Apache Spark 提供用于与压缩的 Parquet 文件交互的本机编解码器。 Azure Databricks 写入的大多数 Parquet 文件都以 .snappy.parquet
结尾,表示它们使用 snappy 压缩。
如何解压缩数据
Azure Databricks %sh
magic 命令 允许执行任意 Bash 代码,包括 unzip
命令。
以下示例使用从 Internet 下载的 CSV 压缩文件。 请参阅 从 Internet 下载数据。
使用 Databricks 实用工具将文件移动到附加到驱动程序的临时存储,然后再解压缩这些文件。
此代码使用 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")
在此示例中,下载的数据在第一行带有注释,在第二行带有标题。 移动和扩展数据后,请使用标准选项读取 CSV 文件,如以下示例所示:
df = spark.read.format("csv").option("skipRows", 1).option("header", True).load("/Volumes/my_catalog/my_schema/my_volume/LoanStats3a.csv")
display(df)