如何使用 Databricks Community Edition 将从 Kaggle 下载的数据导入 DBFS?

How can I import data downloaded from Kaggle to DBFS using Databricks Community Edition?

我设法使用 Kaggle API 从 Kaggle 下载数据集。数据存放在/databricks/driver.

目录下
%sh pip install kaggle
%sh
export KAGGLE_USERNAME=my_name
export KAGGLE_KEY=my_key
kaggle competitions download -c ncaaw-march-mania-2021
%sh unzip ncaaw-march-mania-2021.zip

问题是:如何在 DBFS 中使用它们?以下是我读取数据的方式以及我尝试使用pyspark读取csv文件时出现的错误:

spark.read.csv('/databricks/driver/WDataFiles_Stage1/Cities.csv')
AnalysisException: Path does not exist: dbfs:/databricks/driver/WDataFiles_Stage1/Cities.csv

spark.read... 默认使用 DBFS 路径,因此您有两个选择:

  • 使用 file:/databricks/driver/... 强制从本地文件系统读取 - 它可以在社区版上运行,因为它是单节点集群。它不适用于分布式集群

  • 使用dbutils.fs.cp命令(docs)将文件复制到DBFS并从DBFS读取:

dbutils.fs.cp("file:/databricks/driver/WDataFiles_Stage1/Cities.csv", 
   "/FileStore/Cities.csv")
df = spark.read.csv("/FileStore/Cities.csv")
....