我需要连接两个具有相同字段集的管道,即('id,'groupName,'name),与SQL UNION的工作方式相同。如何在Twitter Scalding中做到这一点?
答案 0 :(得分:5)
使用++连接管道然后使用项目来删除id字段。
如果这个答案过于简洁,请告诉我,我会尝试扩展。
答案 1 :(得分:0)
要在三组字段上连接两个管道,首先要知道哪个管道在较小的数据集上运行:
largerPipe1.joinWithSmaller(('id1, 'groupName1, 'name1) -> ('id2, 'groupName2, 'name2), smallerPipe2)
请注意,字段名称不必相同。你必须以相同的顺序拥有它们。结果将只包含greaterPipe1中的符号名称。
请注意以下注释:++ concatenate操作仅将数据从一个管道附加到另一个管道。这不是一个加入。
答案 2 :(得分:0)
def ++ [U>:T](其他:TypedPipe [U]):TypedPipe [U]
合并两个TypedPipes(无保证订单)只有在执行组(或连接)时才会实现。