When implementing Pig union, we need to gather data from two or more upstream vertexes without sorting. The vertex itself might consists of several tasks. Ideally, it should use OnFileUnorderedKVOutput with DataMovementType.SCATTER_GATHER. However, this combination does not work according to Hitesh Shah. We need to implement that. Also, key is meaningless in this scenario, we just want to evenly distribute the output records to tasks.