[ 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)