Sou*_*rty 3 python azure azure-blob-storage databricks
我正在尝试使用以下命令将文件从 databricks 复制到 Blob 存储中的某个位置:
dbutils.fs.cp('dbfs:/FileStore/tables/data/conv_subset_april_2018.csv',"wasb://blobname@outputcontainername.blob.core.windows.net/" + "conv_subset_april_2018" + ".csv")
Run Code Online (Sandbox Code Playgroud)
现在 blobname 和 outputcontainername 是正确的,并且我已将之前的文件复制到存储位置。仅今天,当我执行命令时,我得到的文件大小为 0。此外,文件 data.csv 确实存在于给定位置,并且不为空或损坏。有谁知道会发生什么?屏幕截图显示了我的意思。
据我所知,有两种方法可以将文件从 Azure Databricks 复制到 Azure Blob 存储。请参阅Azure DatabricksAzure Blob Storage主题的官方文档Data Sources了解更多详细信息。
下面是我的示例代码。
要将 Azure Blob 存储的容器挂载到 Azure Databricks 作为dbfs路径,您可以将cpdatabricks 路径中的文件挂载到 Blob 存储的挂载路径。请参阅使用 DBFS 挂载 Azure Blob 存储容器。
dbutils.fs.mount(
source = "wasbs://<your-container-name>@<your-storage-account-name>.blob.core.windows.net",
mount_point = "/mnt/<mount-name>",
extra_configs = {"fs.azure.account.key.<your-storage-account-name>.blob.core.windows.net":"<your-storage-account-key>"})
dbutils.fs.cp('dbfs:/FileStore/tables/data/conv_subset_april_2018.csv','dbfs:/mnt/<mount-name>/conv_subset_april_2018.csv')
# Or dbutils.fs.cp('/FileStore/tables/data/conv_subset_april_2018.csv','/mnt/<mount-name>/conv_subset_april_2018.csv')
Run Code Online (Sandbox Code Playgroud)设置帐户访问密钥或为容器设置 SAS,然后将文件从dbfs文件路径复制到wasbs文件路径。
spark.conf.set(
"fs.azure.account.key.<your-storage-account-name>.blob.core.windows.net",
"<your-storage-account-access-key>")
# Or
# spark.conf.set(
# "fs.azure.sas.<your-container-name>.<your-storage-account-name>.blob.core.windows.net",
# "<complete-query-string-of-your-sas-for-the-container>")
dbutils.fs.cp('/FileStore/tables/data/conv_subset_april_2018.csv','wasbs://blobname@outputcontainername.blob.core.windows.net//conv_subset_april_2018.csv')
Run Code Online (Sandbox Code Playgroud)希望能帮助到你。
| 归档时间: |
|
| 查看次数: |
13633 次 |
| 最近记录: |