4

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

4

3 回答 3

5

使用 ++ 连接管道,然后使用 project 摆脱 id 字段。

如果这个答案太简洁,请告诉我,我会尝试扩展。

于 2013-01-31T15:32:33.560 回答
0

要在三组字段上连接两个管道,您首先想知道哪个管道在较小的数据集上运行:

  largerPipe1.joinWithSmaller(('id1, 'groupName1, 'name1) -> ('id2, 'groupName2, 'name2), smallerPipe2)

请注意,字段名称不需要相同。您只需要将它们按相同的顺序排列即可。结果将仅包含 largePipe1 中的符号名称。

请注意下面的评论:++ 连接操作只是将数据从一个管道附加到另一个管道。这不是一个连接。

于 2013-12-19T22:13:52.610 回答
0

def ++[U >: T](其他: TypedPipe[U]): TypedPipe[U]

合并两个 TypedPipes(不保证顺序) 这仅在执行组(或连接)时实现。

于 2014-11-12T13:36:33.493 回答