1. 程式人生 > 實用技巧 >143. 最大異或對 AcWing

143. 最大異或對 AcWing

上課人數:指標

男生
女生
戴眼鏡
不戴眼鏡
戴眼鏡男生
不戴眼鏡男生
戴眼鏡女生
不戴眼鏡女生

張三		男		戴眼鏡
李四		男生	不戴眼鏡

需求:通過一個MR將所有存在的值都計算出來
map:輸入一條記錄,輸出是K-V鍵值對的資料

男生				張三
戴眼鏡				張三
戴眼鏡男生			張三
男生				李四
不戴眼鏡			李四
不戴眼鏡男生		李四

reduce:
男生				張三				2
男生				李四

戴眼鏡				張三				1

戴眼鏡男生			張三				1

不戴眼鏡			李四				1

不戴眼鏡男生		李四				1

map:
讀取到一行記錄之後去匹配所有可能存在的key,每一個匹配項可以當做一條輸出記錄
reduce:
將相同key的資料匯聚到一起,按照名稱進行累計求和操作,得到最終的結果

-------------------------------------------------
指標:新增使用者
使用者基本資訊模組:	時間
瀏覽器分析模組:	時間,瀏覽器

可能存在的情況:
時間
時間,瀏覽器

資料:
20190818	張三	www.mashibing.com	firefox-48
20190818	李四	www.mashibing.com	firefox-53

通過一個MR計算所有結果:
map:
key:								value:
20190818							張三
20190818,firefox-48					張三
20190818,firefox-all				張三


20190818							李四
20190818,firefox-53					李四
20190818,firefox-all				李四

reduce:
20190818							張三			2
20190818							李四

20190818,firefox-48					張三			1

20190818,firefox-all				張三			2
20190818,firefox-all				李四

20190818,firefox-53					李四			1


-------------------------------------------------
指標:新增使用者
使用者基本資訊模組:	時間,平臺
瀏覽器分析模組:	時間,瀏覽器,平臺

可能存在的情況:
時間
時間,平臺
時間,瀏覽器,平臺

資料:
20190818	張三	www.mashibing.com	firefox-48		website
20190818	李四	www.mashibing.com	firefox-53		website

通過一個MR計算所有結果:
map:
key:													value:
20190818												張三
20190818,website										張三
20190818,website-all									張三

20190818,firefox-48										張三
20190818,firefox-48,website								張三
20190818,firefox-48,website-all							張三
20190818,firefox-all									張三
20190818,firefox-all,website							張三
20190818,firefox-all,website-all						張三


20190818												李四
20190818,website										李四
20190818,website-all									李四
20190818,firefox-53										李四
20190818,firefox-53,website								李四
20190818,firefox-53,website-all							李四
20190818,firefox-all									李四
20190818,firefox-all,website							李四
20190818,firefox-all,website-all						李四

reduce:

20190818,website										張三		2
20190818,website										李四

20190818,website-all									張三		2
20190818,website-all									李四

20190818,firefox-48										張三		1

20190818,firefox-48,website								張三		1

20190818,firefox-48,website-all							張三		1

20190818,firefox-all									張三		2
20190818,firefox-all									李四

20190818,firefox-all,website							張三		2
20190818,firefox-all,website							李四

20190818,firefox-all,website-all						張三		2
20190818,firefox-all,website-all						李四

20190818,firefox-53										李四		1

20190818,firefox-53,website								李四		1

20190818,firefox-53,website-all							李四		1


-------------------------------------------------
指標:新增使用者
使用者基本資訊模組:	時間,平臺,user
瀏覽器分析模組:	時間,瀏覽器,平臺,browser

可能存在的情況:
時間user
時間,平臺user
時間,瀏覽器,平臺browser

資料:
20190818	張三	www.mashibing.com	firefox-48		website
20190818	李四	www.mashibing.com	firefox-53		website

通過一個MR計算所有結果:
map:
key:															value:
20190818,user													張三
20190818,website,user											張三
20190818,website-all,user										張三

20190818,firefox-48,browser										張三
20190818,firefox-48,website,browser								張三
20190818,firefox-48,website-all	,browser						張三
20190818,firefox-all,browser									張三
20190818,firefox-all,website,browser							張三
20190818,firefox-all,website-all,browser						張三


20190818,user													李四
20190818,website,user											李四
20190818,website-all,user										李四
20190818,firefox-53	,browser									李四
20190818,firefox-53,website,browser								李四
20190818,firefox-53,website-all,browser							李四
20190818,firefox-all,browser									李四
20190818,firefox-all,website,browser							李四
20190818,firefox-all,website-all,browser						李四

reduce:

20190818,website,user												張三		2
20190818,website,user												李四

20190818,website-all,user											張三		2
20190818,website-all,user											李四

20190818,firefox-48,browser											張三		1

20190818,firefox-48,website	,browser								張三		1

20190818,firefox-48,website-all,browser								張三		1

20190818,firefox-all,browser										張三		2
20190818,firefox-all,browser										李四

20190818,firefox-all,website,browser								張三		2
20190818,firefox-all,website,browser								李四

20190818,firefox-all,website-all,browser							張三		2
20190818,firefox-all,website-all,browser							李四

20190818,firefox-53,browser											李四		1

20190818,firefox-53,website	,browser								李四		1

20190818,firefox-53,website-all,browser								李四		1

------------------
map:
1、讀取一條記錄,將記錄拆分成K-V格式的資料
2、key要求是維度組合(條件組合)
3、value要求是唯一標識一行記錄的值

reduce:
1、將相同key的資料匯聚到一起,
2、將不同情況的結果插入到不同的表中