- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
罗道文-厦门大学数据库试验室
论文阅读成果和创新点 厦门大学数据库实验室 罗道文 2015-03-07 SAND_JOIN algorithm 目 录 基于Locality-Aware的reduce任务调度 SAND_JOIN算法不足之处 SAND_JOIN算法改进 SAND_JOIN algoririthm 简单的范围分区 思想:在执行reduce-join连接之前,先运行一个job,统计键值的分布情况,即抽样思想,接着利用样本的键值分布情况,对所有数据进行分区。 分为:简单范围分区和虚拟处理器范围分区。 思想:Map端采样:每个Mapper随机选取X个样本,有n个Mapper。 Reduce端统计分布:只需要一个Reducer对样本所有key值统计分析,构造出分区序列。 SAND_JOIN algoririthm 若执行的Join连接有N个Reduce,则可以根据步长n*x/N获得一个分区序列。 例如: Sample:[1,3,3,4,5,5,6,6,6,6,8,9,9,10,10],5个Reducer,步长为3, 分区序列为:[3,5,6,9] Join Partition: key≤3 3key≤5 5key≤6 6key≤9 9key [1,3,3] [4,5,5] [6,6,6,6] [8,9,9] [10,10] 简单的范围分区(续) 倾斜情况: Samples: [1, 3, 3, 4, 5, 5, 6, 6, 6, 6, 6, 6, 9, 10, 10], 5个Reducer,步进3 分区序列: [3, 5, 6, 6] - 键为6的有两个可选Reducer 解决: build relation: 随机选择一个可选Reducer probe relation: 需发送到每个可选Reducer 适合一个大表一个小表的情况! SAND_JOIN algoririthm 倾斜键存在大小表的情况 Samples: [1, 3, 3, 4, 5, 5, 6, 6, 6, 6, 6, 6, 9, 10, 10], 5个Reducer,步进3 分区序列: [3, 5, 6, 6] - 键为6的有两个可选Reducer 3 和 4 R join S,对于键6,若 R.6 == S.6 可将所有的S.6传输到3和4上,然后R.6可以随机分配到3或4上 其实就是x*y=x*(y1+y2)=x*y1+x*y2 SAND_JOIN algoririthm 论文具体实现: 1.将小表S加载到每一台机器,建立哈希表,key,tuplelist的形式。 2.当R表某个键值key分配到某个Reducer上时,从哈希表中检索key的value值,即tuplelist,与R表中的元组做Join操作。 SAND_JOIN algoririthm 虚拟处理器范围分区 实际是N个Reducer,但假定分成 α*N 个分区(α为整数)。 例如 Samples: [1, 3, 4, 4, 5, 5, 6, 6, 6, 6, 6, 6, 9, 10, 10, 11, 11, 11, 15, 16], 5个Reducer Join Partition: [1,3,4,4], [5,5,6,6], [6,6,6,6], [9,10,10,11,11,11], [15,16] α = 2,则分成2*5=10个分区 Samples: [1, 3, 3, 4, 5, 5, 6, 6, 6, 6, 6, 6, 9, 10, 10, 11, 11, 11, 15, 16], 10个Reducer Join Partition: [1,3,3], [4], [5,5], [6,6], [6,6], [6,6], [9,10,10], [11], [11,11], [15,16] · 采用虚拟范围分区,数据分配更加均衡 · 处理方式: 轮叫调度 或 当某一节点完成时,将下一剩余任务分配给该节点 · 论文的实验结果表明虚拟范围分区优于简单范围分区 SAND_JOIN algoririthm Locality-Aware的reduce任务调度 思想:尽量将某个key分配给所有节点中该
您可能关注的文档
最近下载
- 网络预约出租汽车企业安全生产责任制和事故报告制度.pptx
- SY-T 5051-2009 钻具稳定器-石油天然气行业标准.pdf VIP
- 22G101-3 混凝土结构施工图平面整体表示方法制图规则和构造详图(独立基础、条形基础、筏形基础、桩基础).docx
- 模板支架验收记录表.doc
- 标准个人租房合同模板.pdf VIP
- 2024年全国疾控系统大学习实验室质量控制规范答案.docx VIP
- 2024-2025学年初中道德与法治七年级(全一册)统编版(五四学制)(2024)教学设计合集.docx
- 小学劳动教育五年级下册第五单元2《维修凳子》教学设计.docx
- 北师大版五年级数学上册第五单元《分数的意义》(大单元教学设计).docx VIP
- 简易呼吸球囊.ppt
文档评论(0)