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