我想在Rstudio中阅读HDFS
文件,它不是一个容易做的CSV文件,但它们是块。我使用sqoop从数据库加载数据,因此我将数据分成块。
我有这样的文件:
/data/_SUCCESS
/data/part-m-00000
/data/part-m-00001
/data/part-m-00002
/data/part-m-00003
/data/part-m-00004
/data/part-m-00005
但我无法读取所有文件,使用此命令我一次只能读取一个:
hdfs.data <- file.path(hdfs.root,"part-m-00001"
//每次都更改part-m-0000 *,*不能读取所有文件......
答案 0 :(得分:1)
Are they text files? You should be able to load the in the same way as csv files.
list_tables <- lapply(list.files(hdfs.root,full.names = TRUE), read.table)
library(data.table)
table_composite <- rbindlist(list_tables)
You should include the options of read.table as arguments of lapply
Alternatively, you can read the full folder as a composite csv file.
Another option is using the open-source package rhdfs.
答案 1 :(得分:0)
试试这个:
它将HDFS数据加载到R安装的本地。你可以在数据上做其他的事情!
library(data.table)
sdf_local <- fread(paste("hadoop", "fs -text <HDFS file path>"))
head(sdf_local)
Note :<HDFS file path> should be complete path to the file