以下是我的文本文件内容:
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)
我把这四行都记下来了。请解释一下,为什么我放的时候只有两行 strsplit
.
1条答案
按热度按时间txu3uszq1#
这是Map上的错误:
谢谢您!