![](/img/trans.png)
[英]Uploading files from Azure Blob Storage to SFTP location using Databricks?
[英]Copying files from databricks to blob storage results in files of 0 size
我正在尝试使用以下命令将文件从数据块复制到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")
现在,blobname和outputcontainername是正确的,并且我已经将文件更早地复制到了存储位置。 仅在今天,当我执行命令时,我得到的文件大小为0。而且文件data.csv确实存在于给定的位置,并且不为空或损坏。 有谁知道会发生什么? 屏幕截图显示了我的意思。
众所周知,有两种方法可以将文件从Azure Databricks复制到Azure Blob存储。 请参阅官方文档Azure Blob Storage
,主题为Azure Databricks的Data Sources
,以了解更多详细信息。
这是我下面的示例代码。
要将Azure Blob存储的容器作为dbfs
路径安装到Azure Databricks,可以将dbfs
路径中的文件cp
到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')
要设置帐户访问密钥或为容器设置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')
希望能帮助到你。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.