通过R将文件从ADLS下载到本地文件系统出现连接错误



我正在使用AzureR包从RStudio访问Azure Data Lake Storage。我用下面的脚本设置连接:

library(AzureRMR)
library(AzureStor)
# setup connections
az <- az_rm$new(tenant="my_tenant_id",
app="my_app_id",
password="my_password")
sub <- az$get_subscription("my_subscription_id")
rg <- sub$get_resource_group("my_resource_group_name")
stor <- rg$get_resource(type="Microsoft.Storage/storageAccounts",
name="my_datalake_account_name")
stor$do_operation("listKeys", http_verb="POST")

连接工作良好,我得到了以下结果:

attr(,"status")
[1] 200

然后我上传文件到ADLS文件系统并从中下载文件,脚本如下:

fs <- adls_filesystem(
"https://my_datalake_account_name.dfs.core.windows.net/my_file_system_name", 
key="my_key"
)
# create new directory
create_adls_dir(fs, "/newdir")
upload_adls_file(
fs, src = "I:/lookup.csv",
dest = "/newdir/lookup.csv"
)
download_adls_file(
fs, src = "/newdir/lookup.csv",
dest = "J:/lookup.csv"
)

上传效果良好,而下载显示以下错误:

Connection error, retrying (1 of 10)
Connection error, retrying (2 of 10)
Connection error, retrying (3 of 10)
Connection error, retrying (4 of 10)
Connection error, retrying (5 of 10)
Connection error, retrying (6 of 10)
Connection error, retrying (7 of 10)
Connection error, retrying (8 of 10)
Connection error, retrying (9 of 10)
Connection error, retrying (10 of 10)
Error in curl::curl_fetch_memory(url, handle = handle) : 
Send failure: Connection was reset

现在我有两台服务器可以使用,但目标是切换到新服务器并消除旧服务器。脚本在旧服务器上运行良好,CSV文件很小,因此上传和下载在一秒内完成。然而,在新服务器上,上传运行良好,而下载失败。有什么想法可能导致这个问题吗?我想知道这两台服务器之间是否有任何不同的系统设置,但我真的是数据湖的新手。任何帮助都将不胜感激!

由于相同的脚本在旧服务器上运行,我想如果我是你,我可以关注路径"J:/lookup.csv"。J:物理驱动器还是FIle共享。

无论如何,我本可以用更明显的东西来测试,比如c或d驱动,并测试那个部分。

最新更新