10

我现在正在 EdX 上介绍 Spark 课程。是否有可能在我的计算机上保存来自 Databricks 的数据帧。

我在问这个问题,因为本课程提供的 Databricks 笔记本在课程结束后可能无法使用。

在 notebook 中使用命令导入数据:

log_file_path = 'dbfs:/' + os.path.join('databricks-datasets', 'cs100', 'lab2', 'data-001', 'apache.access.log.PROJECT')

我找到了这个解决方案,但它不起作用:

df.select('year','model').write.format('com.databricks.spark.csv').save('newcars.csv')

4

3 回答 3

32

Databricks 运行云虚拟机,并且不知道本地计算机的位置。如果你想保存 DataFrame 的 CSV 结果,你可以运行display(df)并且有一个下载结果的选项。

在此处输入图像描述

于 2016-08-01T19:15:03.847 回答
12

您还可以将其保存到文件存储并通过其句柄下载,例如

df.coalesce(1).write.format("com.databricks.spark.csv").option("header", "true").save("dbfs:/FileStore/df/df.csv")

您可以通过转到 Data > Add Data > DBFS > FileStore > your_subdirectory > part-00000-... 在 Databricks GUI 中找到句柄

在这种情况下下载(用于 Databricks 西欧实例)

https://westeurope.azuredatabricks.net/files/df/df.csv/part-00000-tid-437462250085757671-965891ca-ac1f-4789-85b0-akq7bc6a8780-3597-1-c000.csv

我尚未对其进行测试,但我假设您通过@MrChristine 的上述答案下载它时所拥有的 100 万行的行数限制在这里不适用。

于 2019-08-16T10:51:47.557 回答
0

尝试这个。

df.write.format("com.databricks.spark.csv").save("file:///home/yphani/datacsv")

这会将文件保存到 Unix 服务器中。

如果您只提供 /home/yphani/datacsv 它会查找 HDFS 上的路径。

于 2016-07-27T19:39:14.260 回答