gpt4 book ai didi

r - 找不到Hadoop输入路径

转载 作者:行者123 更新时间:2023-12-02 19:13:00 25 4
gpt4 key购买 nike

我是R的新手。我正在尝试在R Studio中运行 map 缩小程序。我已经使用此命令查看文件是否存在 Hadoop fs -ls ,我可以看到文件存在于其中。但是,当我尝试运行代码时,出现错误。我的文件位于此目录home / hduser / mr中,并且我创建了另一个名为out的文件夹以保存输出。

**.20/05/23 11:58:30 ERROR streaming.StreamJob: Error Launching job : Input path does not exist: hdfs://localhost:54310/user/hduser/testsong.cvs Streaming Command Failed!

Error in mr(map = map, reduce = reduce, combine = combine, vectorized.reduce, : hadoop streaming failed with error code 5**



这是我的代码。
Sys.setenv("HADOOP_CMD"="/usr/local/hadoop/bin/hadoop")
Sys.setenv(HADOOP_STREAMING="/usr/local/hadoop/share/hadoop/tools/lib/hadoop-streaming-2.6.5.jar")

library(rmr2)
library(rhdfs)


hdfs.init()

map <- function(k,lines) {
words.list <- strsplit(lines, '\\s')
words <- unlist(words.list)
return( keyval(words, 1) )
}

reduce <- function(word, counts) {
keyval(word, sum(counts))
}

wordcount <- function (input, output=NULL) {
mapreduce(input=input, output=output, input.format="csv", map=map, reduce=reduce)
}

## read text files from folder
hdfs.root <- 'home/hduser/mr'
hdfs.data <- file.path(hdfs.root, 'testsong')


hdfs.out <- file.path(hdfs.root, 'home/hduser/mr/out')

## Submit job
out <- wordcount(hdfs.data, hdfs.out)

## Fetch results from HDFS
results <- from.dfs(out)
results.df <- as.data.frame(results, stringsAsFactors=F)
colnames(results.df) <- c('word', 'count')

head(results.df)

最佳答案

Hadoop fs -ls等于hdfs dfs -ls,后者是从目录列出文件的命令。要将文件复制到HDFS,您必须使用hdfs dfs -CopyFromLocal <source_path> <hdfs_end_path>

关于r - 找不到Hadoop输入路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61971140/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com