在Pig中分组后选择字段

Bas*_*aan 3 apache-pig

我可能缺少一些非常微不足道的东西,但我无法让它发挥作用.我有一个"电影"对象,有标题,演员,年份和角色.现在我想要的是拥有标题的结果,以及包含演员/角色对的嵌套包.

如果我这样做group movies by title,我最终会得到像(标​​题,{电影对象})这样的结果,这将是完美的,除了标题和年份也出现在那里的电影对象中.我只想要演员和角色.

我也试过,foreach movie_groups generate group, movies.actor, movies.role但最后我得到了(标题,{所有演员},{所有角色}),这显然是错误的.

在SQL中,这将是如此微不足道,以至于我不禁因为无法解决这个问题而感到非常愚蠢.有人会有建议吗?

mr2*_*ert 5

看电影的格式会很有帮助,但我假设它是这样的:

MovieTitle1 Year1 Actor1 Role1
MovieTitle1 Year2 Actor2 Role2
etc.
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我会这样做:

result = FOREACH (GROUP movies BY title)  
         GENERATE FLATTEN(group), movies.(actor, role) AS actors ;
Run Code Online (Sandbox Code Playgroud)

另外,你提到电影也包含年份.如果您不需要该字段,则首先仅投影您需要的字段(标题,演员,角色)可能是值得的.