使用R,我试图在Azure DataLakeStore上使用WebHDFS API读取图像文件。它不起作用。
但是,我可以使用相同的代码,使用位于图像文件旁边的WebHDFS API读取文本文件,没有任何问题。此外,我可以阅读在互联网上公开提供的图像文件。
1。使用WebHDFS API
在DataLakeStore上读取JPG的代码(不起作用)a <- GET("https://<mydatalakestore>.azuredatalakestore.net/webhdfs/v1/<folder>/pic.jpg?op=OPEN&read=true",
add_headers(Authorization = "Bearer <Auth Token>"))
$ status_code == 403
OR
a <- GET("https://<mydatalakestore>.azuredatalakestore.net/webhdfs/v1/<folder>/pic.jpg",
add_headers(Authorization = "Bearer <Auth token>"))
$ status_code == 400
2。在Open Web上阅读JPG的代码(正常工作)
a <- GET("http://cran.r-project.org/Rlogo.jpg")
$ status_code == 200
x <- content(a)
plot(0:1, 0:1, type = "n")
rasterImage(x, 0, 0, 1, 1)
第3。使用WebHDFS API读取文本的代码(坐在DataLakeStore上的图像文件旁边;工作正常)
a <- GET("https://<mydatalakestore>.azuredatalakestore.net/webhdfs/v1/<myfolder>/testfile3.txt?op=OPEN&read=true",
add_headers(Authorization = "Bearer <Auth Token>"))
$ status_code == 200