2015-09-13 98 views
0

我想在級聯中交叉連接兩個元組。假設有兩個名單:女士們和先生們,目標是將所有可能的女士紳士組合寫入文件(例如,來自假設約會網站的「尋求男人的女人」部分的所有可能的匹配)。級聯中的交叉連接

我在this blog上發現了一個類似的例子,並試圖調整代碼以建立一個交叉連接(參見https://github.com/alexwoolford/cascading-crossjoin-stackoverflow-question)。

Crossjoin類的operate方法引發空指針。首先,getJoinerClosure()調用該行返回null

JoinerClosure joinerClosure = bufferCall.getJoinerClosure(); 

...然後緊跟嘗試的if語句獲取的null大小:

if(joinerClosure.size() != 2) 
    [...] 

...導致空指針異常。

你能看到我要去哪裏嗎?

回答

0

它工作時,我刪除從new CoGroup構造,即rhsGroupFields參數變更情況:從

Pipe pipeLadiesAndGentlemen = new CoGroup(pipeLadies, Fields.NONE, pipeGentlemen, Fields.NONE, new Fields("lady", "gentleman"), new BufferJoin()); 

..到:

Pipe pipeLadiesAndGentlemen = new CoGroup(pipeLadies, Fields.NONE, pipeGentlemen, Fields.NONE, new BufferJoin());