SQL联盟等同于Twitter Scalding

时间:2012-10-22 12:23:05

标签: scala mapreduce scalding

我需要连接两个具有相同字段集的管道,即('id,'groupName,'name),与SQL UNION的工作方式相同。如何在Twitter Scalding中做到这一点?

3 个答案:

答案 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(无保证订单)只有在执行组(或连接)时才会实现。