我可能缺少一些非常微不足道的东西,但我无法让它发挥作用。我有一个“电影”对象,有标题,演员,年份和角色。现在我想要的是拥有标题的结果,以及包含演员/角色对的嵌套包。
如果我只做group movies by title
,我最终得到的结果就像(标题,{电影对象})那样完美,除了标题和年份也出现在那里的电影对象中。我只想要演员和角色。
我也试过foreach movie_groups generate group, movies.actor, movies.role
,但后来我最终得到了(标题,{所有演员},{所有角色})这显然是错误的。
在SQL中,这将是如此微不足道,以至于我不禁因为无法解决这个问题而感到非常愚蠢。有人会有建议吗?
答案 0 :(得分:5)
看电影的格式会很有帮助,但我认为它是这样的:
MovieTitle1 Year1 Actor1 Role1
MovieTitle1 Year2 Actor2 Role2
etc.
在这种情况下,我会这样做:
result = FOREACH (GROUP movies BY title)
GENERATE FLATTEN(group), movies.(actor, role) AS actors ;
另外,你提到电影也包含年份。如果您不需要该字段,那么首先仅投影您需要的字段(标题,演员,角色)可能是值得的。