【问题标题】:How to export data from a dataframe to a file databricks如何将数据从数据框导出到文件数据块
【发布时间】:2016-12-01 21:11:03
【问题描述】:

我现在正在参加 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')

【问题讨论】:

    标签: apache-spark pyspark databricks


    【解决方案1】:

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

    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 万行的行限制在这里不适用。

    【讨论】:

      【解决方案2】:

      Databricks 运行云虚拟机,并且不知道您的本地计算机位于何处。如果要保存 DataFrame 的 CSV 结果,可以运行display(df),并且可以选择下载结果。

      【讨论】:

      • 感谢您分享此 MrChristine。我尝试了很多编码解决方案来下载我的 df。这是唯一对我有用的东西。但您似乎只能看到和下载 1000 行。如何下载所有行?
      • @ASH 点击下载完整结果然后命令会重新运行,执行完成后就可以下载了。
      • 我在 databricks 社区上执行此操作时出错,但我可以下载预览(1000 行)
      【解决方案3】:

      试试这个。

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-09-05
        • 2020-02-10
        • 1970-01-01
        • 2018-08-06
        • 1970-01-01
        相关资源
        最近更新 更多