[ 
https://issues.apache.org/jira/browse/DATAFU-130?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16253564#comment-16253564
 ] 

Eyal Allweil commented on DATAFU-130:
-------------------------------------

Hi [~varunu28],

Thank you for your interest! Do you have any experience with Pig?

I can't seem to assign this issue to you, but that isn't really necessary to 
work on it. Go right ahead!

For setting up your environment, you should follow [this 
guide:|http://datafu.incubator.apache.org/community/contributing.htm]

We haven't published instructions for how to contribute Pig macros. I'll try to 
write a rough draft of a guide and email it here or put it up on our wiki.
In the meantime, you can look at 
[count_macros.pig|https://github.com/apache/incubator-datafu/blob/master/datafu-pig/src/main/resources/datafu/count_macros.pig]
 for an example of a macro file (though all you need to do is copy the macro in 
the Jira to the macros directory), and 
[MacroTests.java|https://github.com/apache/incubator-datafu/blob/master/datafu-pig/src/test/java/datafu/test/pig/macros/MacroTests.java]
 for an example of a test. You can add your test to this file, actually.

For a guide to how to prepare a patch file, you can look 
[here|https://cwiki.apache.org/confluence/display/DATAFU/Contributing+to+Apache+DataFu].


> Add left outer join macro described in the DataFu guide
> -------------------------------------------------------
>
>                 Key: DATAFU-130
>                 URL: https://issues.apache.org/jira/browse/DATAFU-130
>             Project: DataFu
>          Issue Type: New Feature
>            Reporter: Eyal Allweil
>              Labels: macro, newbie
>
> In our 
> [guide|http://datafu.incubator.apache.org/blog/2013/09/04/datafu-1-0.html], a 
> macro is described for making a three-way left outer join conveniently. We 
> can add this macro to DataFu to make it even easier to use.
> The macro's code is as follows:
> {noformat}
> DEFINE left_outer_join(relation1, key1, relation2, key2, relation3, key3) 
> returns joined {
>   cogrouped = COGROUP $relation1 BY $key1, $relation2 BY $key2, $relation3 BY 
> $key3;
>   $joined = FOREACH cogrouped GENERATE
>     FLATTEN($relation1),
>     FLATTEN(EmptyBagToNullFields($relation2)),
>     FLATTEN(EmptyBagToNullFields($relation3));
> }
> {noformat}
> (we would obviously want to add a test for this, too)



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to