我在笔记本电脑(Windown / Mac)上安装了R和RStudio,并远程安装了Hadoop集群(Linux)。我想从RStudio连接到HDFS来读取数据,进行处理,然后最后,如果需要,将结果推回到HDFS。
我不确定这是否可行或者只需要服务器版本的RStudio?任何人都可以建议最好的选择吗?
由于
答案 0 :(得分:0)
这是一个安全的集群吗?如果不是rwebHDFS package,则可以解决此问题。使用它,您可以使用以下代码连接到远程集群:
library(rwebhdfs)
hdfs <- webhdfs("<hdfs-webfs-node>", 50070, "<user>")
f <- read_file(hdfs, "/<path>/<to>/<file>")
这些软件包依赖于RCurl,当与安全群集一起使用时,RCurl具有限制(在Windows上为libcurl v1.0.0o)。要使用安全群集进行访问,我将使用httr
软件包并使用WebHDFS REST API
# WebHDFS url
hdfsUri <- "http://namenodedns:port/webhdfs/v1"
# Uri of the file you want to read
fileUri <- "/user/username/myfile.csv"
# Optional parameter, with the format &name1=value1&name2=value2
optionnalParameters <- ""
# OPEN => read a file
readParameter <- "?op=OPEN"
# Concatenate all the parameters into one uri
uri <- paste0(hdfsUri, fileUri, readParameter, optionnalParameters)
# Read your file with the function you want as long as it supports reading from a connection
data <- read.csv(uri)
直接取自link
的代码没有理由获得RStudio服务器。我希望这可以为您指明正确的方向。