Hadoop 大数据分析

xx24

贡献于2015-07-18

字数:0 关键词: Hadoop 分布式/云计算/大数据

HADOOP 大数据分析 tntzhou@hotmail.com 分而治之 古时候,人们用牛来拉重物,当一头牛 拉不动一根圆木的时候,他们不曾想过 培育个头更大的牛。同样,我们也不需 要尝试更大的计算机,而是应该使用更 多的计算机系统。 Grace Hopper(1906-1992) 3 数据计算层 数据存储层 计算单元(1) 计算单元(2) 计算单元(n-1) 计算单元(n)………… …………存储单元(1) 存储单元(2) 存储单元(n-1) 存储单元(n) File Files Hadoop框架介绍 4 MapReduce Hive/Pig Mahout 数据分析工具 5 File Blocks Map1 Map2 Map3 Map4 Map5 Shuffle Reduce1 Reduce2 Files User Item Num 50032 100001 1 50032 100002 3 50032 100003 11 50033 100001 1 50033 100002 11 ….. …… 99999 110002 2 50032~59999->Map1 60000~69999->Map2 70000~79999->Map3 80000~69999->Map4 90000~99999->Map5 Item Num List 100001 1,1,3,4,5… 100002 3,2,31..… ….. ….. ….. …… ……. 200000 1,4,5,1,2… 100001 ~ 150000 ->Reduce1 150001 ~ 200000 -> Reduce2 Item Sum(Num) 100001 120000 ….. ……. 150000 5851 ---------------- --- 150001 88663 ……. 200000 5555000 案例一:计算枪械日销售数量 6 下周的游戏商城应该上那些商品? 冷门商品应该如何处理:打折销售?打包销售?直接下架? 是否能对不同类型的用户定向推荐商品? 案例二:商品定向推荐 7 建立数据矩阵 User Item Lv dates 100000000 17701 6 07/01/13 100000000 16502 8 07/01/13 100000000 19803 1 07/01/11 100000002 12301 2 07/01/13 100000002 11102 10 07/01/13 100000002 11603 9 07/01/10 100000002 17804 1 07/01/13 100000003 13501 2 07/01/09 100000003 13304 4 07/01/13 100000003 13405 3 07/01/11 100000003 17702 5 07/01/12 ........ 119999998 17804 7 07/01/14 119999998 19803 3 07/01/15 119999998 13501 9 07/01/16 119999998 17701 2 07/01/17 119999999 17701 8 07/01/18 119999999 12301 3 07/01/19 UserSec User Item Sec dates 100000000 17701 740.0 07/01/13 100000000 16502 1233.0 07/01/13 100000000 19803 180.0 07/01/11 100000002 12301 246.0 07/01/13 100000002 11102 1677.0 07/01/13 100000002 11603 900.0 07/01/10 100000002 17804 64.0 07/01/13 100000003 13501 234.0 07/01/09 100000003 13304 140.0 07/01/13 100000003 13405 88.0 07/01/11 100000003 17702 112.0 07/01/12 UserKill User Item kill dates 100000000 17701 33.0 07/01/13 100000000 16502 124.0 07/01/13 100000000 19803 3.0 07/01/11 100000002 12301 156.0 07/01/13 100000002 11102 13.0 07/01/13 100000002 11603 287.0 07/01/10 100000002 17804 1.0 07/01/13 100000003 13501 32.0 07/01/09 100000003 13304 6.0 07/01/13 100000003 13405 44.0 07/01/11 100000003 17702 6.0 07/01/12 UserPerc User Item perc dates 100000000 17701 0.12 07/01/13 100000000 16502 0.13 07/01/13 100000000 19803 0.07 07/01/11 100000002 12301 0.30 07/01/13 100000002 11102 0.10 07/01/13 100000002 11603 0.14 07/01/10 100000002 17804 0.24 07/01/13 100000003 13501 0.33 07/01/09 100000003 13304 0.45 07/01/13 100000003 13405 0.21 07/01/11 100000003 17702 0.87 07/01/12 wordbook item lv kil/sec perc ……… 17701 1 0.021 0.04 ……… 17701 2 0.032 0.1 ……… 17701 3 0.04 0.12 ……… 17701 4 0.046 0.16 ……… 17701 5 0.05 0.18 ……… ……………………………………… 17701 10 0.061 0.24 ……… ……………………………………… 16502 1 0.013 0.28 ……… 16502 2 0.024 0.5 ……… 16502 3 0.033 0.69 ……… 16502 4 0.041 0.77 ……… 16502 5 0.048 0.84 ……… ……………………………………… UserID User Item1 Item2 Item3 Item4 Item5 Item6 ………… Item(n- 1) Item4(n) 100000000 ZHUM**** 9 ?? 1 6 ?………… 1 ? 100000001 T1439**** 8 4 ? 1 3 1 …………? 5 100000002 RICHA****? 10 3 ?? 4 …………? 7 100000003 WIN**** 1 ? 7 3 1 10 ………… 9 4 100000004 LIUXI**** 5 1 4 7 ??………… 5 ? 100000005 IA**** 3 ? 1 1 1 9 …………?? 100000006 Z12549****? 9 ?? 1 ?………… 7 6 100000007 Q10600**** 1 2 3 1 4 6 ………… 7 ? 100000008 137210**** 3 4 4 1 ? 8 ………… 9 4 …………………………………………………………………………………………………………………… 199999998 OSCAR1**** 1 ? 5 8 2 1 …………? 7 199999999 R1148****? 4 4 ? 8 2 ………… 8 1 8 Mahout推荐系统 Mahout协同过滤算法 UserCF & ItemCF User Item1 Item2 Item3 A √   推荐 B   √   C √ √ A B C Item1 Item2 Item3 User Item1 Item2 Item3 A √   推荐 B √  √ √ C √ √ A B C Item1 Item2 Item3 9 ItemCF hadoop jar /opt/mahout/mahout-core-0.8-job.jar org.apache.mahout.cf.taste.hadoop.item.RecommenderJob -Dmapred.input.dir=hdfs://m04.ct1.r01.hdp:9000/tmp/mtest -Dmapred.output.dir=hdfs://m04.ct1.r01.hdp:9000/tmp/item001 --similarityClassname org.apache.mahout.math.hadoop.similarity.cooccurrence.measures.EuclideanDistanceSimilarity --booleanData false User Item Lv 100000000 17701 6 100000000 16502 8 100000000 19803 1 100000002 12301 2 100000002 11102 10 100000002 11603 9 100000002 17804 1 100000003 13501 2 100000003 13304 4 100000003 13405 3 100000003 17702 5 ........ 119999998 17804 7 119999998 19803 3 119999998 13501 9 119999998 17701 2 119999999 17701 8 119999999 12301 3 10 Item相似度计算引擎 RecommenderJob.java整个计算过程需要8到10个MapReduce RowSimilarityJob:item相似度计算 SIMILARITY_EUCLIDEAN_DISTANCE(DistributedEuclideanDistanceVectorSimilarity.class) 欧式空间中的距离相似度 原理:利用欧式距离d定义的相似度s,s=1 / (1+d)。 范围:[0,1],值越大,说明d越小,也就是距离越近,则相似度越大。 SIMILARITY_LOGLIKELIHOOD(DistributedLoglikelihoodVectorSimilarity.class) 皮尔森相关度 原理:用来反映两个变量线性相关程度的统计量 范围:[-1,1],绝对值越大,说明相关性越强,负相关对于推荐的意义小。 SIMILARITY_PEARSON_CORRELATION(DistributedPearsonCorrelationVectorSimilarity.class), 余弦相似度 原理:多维空间两点与所设定的点形成夹角的余弦值。 范围:[-1,1],值越大,说明夹角越大,两点相距就越远,相似度就越小。 SIMILARITY_TANIMOTO_COEFFICIENT(DistributedTanimotoCoefficientVectorSimilarity.class), 原理:又名广义Jaccard系数,是对Jaccard系数的扩展,等式为 范围:[0,1],完全重叠时为1,无重叠项时为0,越接近1说明越相似 SIMILARITY_UNCENTERED_COSINE(DistributedUncenteredCosineVectorSimilarity.class), 原理:多维空间两点与所设定的点形成夹角的余弦值。 范围:[-1,1],值越大,说明夹角越大,两点相距就越远,相似度就越小。 SIMILARITY_CITY_BLOCK(DistributedCityBlockVectorSimilarity.class); 曼哈顿距离 原理:曼哈顿距离的实现,同欧式距离相似,都是用于多维数据空间距离的测度 范围:[0,1],同欧式距离一致,值越小,说明距离值越大,相似度越大。 11 下周的游戏商城应该上那些商品? 冷门商品应该如何处理:打折销售?打包销售?直接下架? 是否能对不同类型的用户定向推荐商品? 问题回顾 12 九城 SkyNet 系统架构 HDFS HBase Game data Coprocessor MapReduce Java Client Hive\Sqoop MySQL\Oracle Zookeeper Web Service HBase API 13 九城 SkyNet 技术模块 14 九城 SkyNet 业务模块 谢谢

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 8 金币 [ 分享文档获得金币 ] 1 人已下载

下载文档

相关文档