我正在尝试获取放置在Hadoop HDFS中的所有文件名。我找到的是用于列出文件的bash命令
hadoop fs -ls
有没有办法让他们进入R.请指导我 谢谢!
答案 0 :(得分:2)
setpw("/directory/of/choice")
list.files()
结果是当前工作目录中文件名的字符向量
但是我觉得hadoop很特别。所以也许这适合你的情况
system("hadoop fs -ls", intern=T)
结果又是文件名的字符向量,假设“hadoop fs -ls”实际上在系统控制台中返回类似于“ls”的内容。
答案 1 :(得分:2)
查看RHadoop project。特别是列出文件所需的包是rhdfs。
答案 2 :(得分:1)
以为人们可能会觉得这个答案很有用,这里是使用rhdfs从特定hdfs文件夹中获取文件名到R的代码。
R代码:
# Load required library and set hadoop environment
library(rhdfs)
Sys.setenv("HADOOP_CMD"="/opt/cloudera/parcels/CDH/bin/hadoop")
# Initialise
hdfs.init()
# Extract files names from a given hdfs folder to a data frame
files <- as.data.frame(hdfs.ls('/'))
输出:
> files #Print data frame
permission owner group size modtime file
1 -rw-r--r-- manohar supergroup 204632 2015-01-13 22:45 /LICENSES.txt
2 drwxr-xr-x manohar supergroup 0 2014-12-20 19:51 /SA
3 drwxr-xr-x manohar supergroup 0 2015-01-10 18:16 /in
答案 3 :(得分:0)
我使用了Rhipe的命令rhlist("/")
,它返回了数据框。