分享

新手指导:让你真正了解mapreduce中map函数与reduce函数功能及key与value的含义

pig2 发表于 2014-5-1 01:04:40 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 18 116807
dh001 发表于 2016-9-19 16:44:10
kandewo youdianmeng
回复

使用道具 举报

mengstlly 发表于 2016-9-19 16:51:23
努力学习中。。。。。
回复

使用道具 举报

ggggying12 发表于 2017-2-24 16:25:47
学习了,谢谢
回复

使用道具 举报

czs208112 发表于 2017-4-9 09:30:27
本帖最后由 czs208112 于 2017-4-9 09:37 编辑

我来补充补充:
map方法的key是一个偏移量,value是每一行的数据。以楼主给的文本为例(注意,我把中文逗号改成了英文逗号,要不然每行长度不是7):
1,2,3,4
a,b,c,d
1,a,2,b
三行数据会调用map方法3次,第一次key为0,value为"1,2,3,4",第二次key为9,即上一次value的长度+2,至于为什么是这样,我还没看源码,只是我实际调试的规律,value为"a,b,c,d"。同理,第三次key为18,value为"1,a,2,b"


回复

使用道具 举报

mapc 发表于 2017-5-19 00:12:39
czs208112 发表于 2017-4-9 09:30
我来补充补充:
map方法的key是一个偏移量,value是每一行的数据。以楼主给的文本为例(注意,我把中文逗号 ...

因为换行符占两个字节长度,所以加2
回复

使用道具 举报

czs208112 发表于 2017-8-8 14:40:50
mapc 发表于 2017-5-19 00:12
因为换行符占两个字节长度,所以加2

对的,多的2位是换行符,我当时只是看的debug的数据,一时没想明白。说实话,aboutyun的许多理论的教程我都觉得云里雾里的,不过新手入门的那几个挺不错。
回复

使用道具 举报

cuqing 发表于 2017-11-10 11:06:45
czs208112 发表于 2017-4-9 09:30
我来补充补充:
map方法的key是一个偏移量,value是每一行的数据。以楼主给的文本为例(注意,我把中文逗号 ...

感觉这里按照LineNo来理解会更好些?
LineNo(aka  key)   Data(aka  values)   
0                          dataInLineOne
1                          dataInLineTwo
2                          dataInLineThree

是否有问题?

回复

使用道具 举报

about_1 发表于 2019-1-18 10:50:25
czs208112 发表于 2017-4-9 09:30
我来补充补充:
map方法的key是一个偏移量,value是每一行的数据。以楼主给的文本为例(注意,我把中文逗号 ...

看到这里总算是清晰了许多
回复

使用道具 举报

Malik 发表于 2019-3-19 22:47:22
czs208112 发表于 2017-4-9 09:30
我来补充补充:
map方法的key是一个偏移量,value是每一行的数据。以楼主给的文本为例(注意,我把中文逗号 ...

加2后 ,第二行的key不应该是8吗(第一行0-6)
回复

使用道具 举报

12
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条