gpt4 book ai didi

r - RHadoop MAP功能未得到正确的结果

转载 作者:行者123 更新时间:2023-12-02 21:34:49 25 4
gpt4 key购买 nike

以下是我的文本文件内容:

name ,      tag/tags ,               location,           id
xyz, abc;nhj;xygf;xyz;ajsd, jhdwegyugagdwg, T1
xasdiaos, abcd, jhdwegyugagdwg0 , T3
xyzasihd, jsdh;sdgwyi, jhdwegyugagdasodpg, T2
xyzasihd, jsdh;jadh;ahsg;sdgwyi, jhdwegyugagdasodpg, T4

我想输出ID和标签总数。
期望的输出如下。
T1 , 5
T3 , 1
T2 , 2
T4 , 4

我已经为 mapreduce写了下面的代码。
library(rmr2)

query1= function(input, output = "/user/mtech/15CS60R13/OutputP2"){

q1.map=
function(., lines){
print(lines)

keyval(unlist(strsplit(lines,split=","))[4],
length(unlist(strsplit(unlist(strsplit(lines,split=","))[2],split=";"))))
}

mapreduce(
input = input ,
output = output,
input.format = "text",
map = q1.map,
)
}

query1("/user/xyz/file.txt")

results <- from.dfs ("/user/mtech/15CS60R13/Output")

我得到如下结果。
print(results)
$key
[1] "T4" "T1"

$val
[1] 4 5

尽管我在下面尝试更改 map函数时,
keyval(lines,1)

我得到所有的4行。请解释为什么我在输入 strsplit时只得到两行。

最佳答案

这是map中的错误:

q1.map=
function(., lines){
for(line in lines){
keyval(unlist(strsplit(line,split=","))[4],
length(unlist(strsplit(unlist(strsplit(line,split=","))[2],split=";"))))
}
}

谢谢 !

关于r - RHadoop MAP功能未得到正确的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33095204/

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