gpt4 book ai didi

azure - 将 DataFrame 从 Databricks 写入 Data Lake

转载 作者:行者123 更新时间:2023-12-02 23:29:53 25 4
gpt4 key购买 nike

我正在使用 Azure Databricks 操作一些数据。此类数据位于 Azure Data Lake Storage Gen1 中。我将数据装载到 DBFS 中,但现在,在转换数据后,我想将其写回到我的数据湖中。

为了安装数据,我使用了以下命令:

configs = {"dfs.adls.oauth2.access.token.provider.type": "ClientCredential",
"dfs.adls.oauth2.client.id": "<your-service-client-id>",
"dfs.adls.oauth2.credential": "<your-service-credentials>",
"dfs.adls.oauth2.refresh.url": "https://login.microsoftonline.com/<your-directory-id>/oauth2/token"}

dbutils.fs.mount(source = "adl://<your-data-lake-store-account-name>.azuredatalakestore.net/<your-directory-name>", mount_point = "/mnt/<mount-name>",extra_configs = configs)

我想写回 .csv 文件。对于此任务,我使用以下行

dfGPS.write.mode("overwrite").format("com.databricks.spark.csv").option("header", "true").csv("adl://<your-data-lake-store-account-name>.azuredatalakestore.net/<your-directory-name>")

但是,我收到以下错误:

IllegalArgumentException: u'No value for dfs.adls.oauth2.access.token.provider found in conf file.'

有任何代码可以帮助我吗?或者引导我完成的链接。

谢谢。

最佳答案

如果安装 Azure Data Lake Store,则应使用安装点来存储数据,而不是“adl://...”。有关如何挂载 Azure Data Lake Store 的详细信息 (ADLS) Gen1 请参阅 Azure Databricks documentation 。您可以验证安装点是否适用于:

dbutils.fs.ls("/mnt/<newmountpoint>")

所以在安装 ADLS Gen 1 后尝试:

dfGPS.write.mode("overwrite").format("com.databricks.spark.csv").option("header", "true").csv("mnt/<mount-name>/<your-directory-name>")

如果您正确添加了挂载点并且您还拥有 ADLS 上服务主体的访问权限,那么这应该可以工作。

Spark 总是在一个目录中写入多个文件,因为每个分区都是单独保存的。另请参阅以下stackoverflow question .

关于azure - 将 DataFrame 从 Databricks 写入 Data Lake,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51673712/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com