【问题标题】:Saving a dataframe as a csv file(processed in databricks) and uploading it to azure datalake blob storage将数据帧保存为 csv 文件(在数据块中处理)并将其上传到 azure datalake blob 存储
【发布时间】:2020-01-27 14:36:22
【问题描述】:

我有一个 csv 文件存储在 azure datalake 存储中,我通过在我的 databricks 集群中安装 datalake 帐户将其导入 databricks,在进行预处理后,我想将 csv 存储回同一个 datalakegen2(blobstorage)帐户中。任何线索和对此问题的帮助表示赞赏。谢谢。

【问题讨论】:

    标签: azure pyspark databricks azure-data-lake


    【解决方案1】:

    只需将其直接保存到 Blob 存储即可。

    df.write.
        format("com.databricks.spark.csv").
        option("header", "true").
        save("myfile.csv")
    

    在本地保存文件然后将其推送到 Blob 中是没有意义的。

    【讨论】:

      【解决方案2】:

      只需在相同的挂载位置写入文件即可。请参阅此处的示例:https://docs.databricks.com/spark/latest/data-sources/azure/azure-datalake-gen2.html#example-notebook

      df.write.json("abfss://<file_system>@<storage-account-name>.dfs.core.windows.net/iot_devices.json")
      

      【讨论】:

      • 非常感谢,知道了,但它会将 csv 文件保存为随机名称,任何帮助将其保存为我自己定义的文件名。感谢您的帮助!
      • 在写入 hdfs 时我们无法写入具有特定名称的文件,使用 coalesce(1) 生成单个文件,使用命令 hadoop fs -mv *.something desired_name 重命名文件
      猜你喜欢
      • 1970-01-01
      • 2020-11-09
      • 1970-01-01
      • 2022-11-04
      • 1970-01-01
      • 2020-11-02
      • 1970-01-01
      • 2016-08-30
      • 2019-11-07
      相关资源
      最近更新 更多