展开和读取 Zip 压缩文件

可以使用 unzip Bash 命令展开 Zip 压缩文件或文件目录。 如果下载或遇到以.zip结尾的文件或目录,请在继续之前展开数据。

Apache Spark 提供用于与压缩的 Parquet 文件交互的本机编解码器。 Azure Databricks 写入的大多数 Parquet 文件都以 .snappy.parquet 结尾,表示它们使用 snappy 压缩。

如何解压缩数据

Azure Databricks %shmagic 命令 允许执行任意 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)