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

Mem*_*eng 7 databricks kaggle 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
Run Code Online (Sandbox Code Playgroud)

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

spark.read.csv('/databricks/driver/WDataFiles_Stage1/Cities.csv')
AnalysisException: Path does not exist: dbfs:/databricks/driver/WDataFiles_Stage1/Cities.csv
Run Code Online (Sandbox Code Playgroud)

Ale*_*Ott 3

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")
....
Run Code Online (Sandbox Code Playgroud)