三个阶段的主要区别在与所使用的内存、对不匹配记录的处理以及对输入数据的要求不同。
join stage:多个输入链接,一个输出链接。会对输入数据进行按键分区,确保相同键值的记录位于同一分区并用同一节点进行处理,故每次只取较少行,所需内存小。对于不匹配记录按照链接方式的不同而有所差异。
merge stage:多个输入链接,其中一个表示主数据集,其余表示更新数据集,一个输出链接和多个reject链接。可在链接顺序中指定更新链接与reject链接的对应关系。
会对输入数据进行按键分区,确保相同键值的记录位于同一分区并用同一节点进行处理,故每次只取较少行,所需内存小。对不匹配记录会放入reject指定的数据输出中。要求主数据集与更新数据集均无重复值。
lookup stage:一个主链接,一个或多个引用链接,一个输出链接,一个reject链接。查找操作基于引用表的查找键列。查找键列在lookup中定义。查找数据与引用数据会全部读入内存,故需内存较大。无需对数据排序,但是应注意查找表的分区方式,与引用表相同或者采用全部分区方式。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28690368/viewspace-766420/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/28690368/viewspace-766420/