你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
没有找到相关结果
我是最优雅的杀手,不杀人专杀狗 - 日光之下并无新事 2016-03-22 回答
赞同来自:
simon_cao - 打酱油 2016-03-21 回答
要回复问题请先登录或注册
产业网络中的休眠人
推荐一份编程学习资源,包含了各类编程语言学习进阶路线图、视频教程、配套书籍文档、数百份面经,各大厂面试真题。编程语言包括:Java、前端、PHP、Python、Linux运维、软件测试、数据解构与算法、C语言、go语言等
微信扫码关注公众号,发送 "编程"获取资源
2 个回复
我是最优雅的杀手,不杀人专杀狗 - 日光之下并无新事 2016-03-22 回答
赞同来自:
Auto: 默认情况下的选项是Auto,它会根据配置文件中设定的结点数以及当前、前置Stage的执行模式进行分析,得到最优的分区方法。Auto的方式保证了数据在Join前是基于关键字分区的,且排过序的。
通过选择auto可以保证正确的进行分区和排序,如果输入的数据集在进入join之前是已经被前置的stage进行过分区或排序处理的,选择auto可以探测出来,不会再进行处理。
Entire: 每一个处理的节点都会接收所有的数据集。
Hash: 将数据集按关键值进行分区。
Modulus:使用模函数对数据集按关键值进行分区,与Hash的方法类似,区别在于Modulus仅能处理Integer和Decimal类型的数据。
Random:基于随机数字生成器的输出,对数据集进行随机的分区。
Round Robin:将数据按顺序循环的放入处理节点。
Same: 保留已有的分区方式。
DB2: 对一个特定的DB2表的分区方法进行复制,很少使用。
Range: 将数据集按照一个或多个关键值分成相等的几个分区,必须先生成Range Map。很少使用。
一般情况下,建议使用“Auto”的方式,若自定义分区方式,较常用的是“Hash”分区。
有疑问可以直接交流。
simon_cao - 打酱油 2016-03-21 回答
赞同来自: