cogroupは、入力がPARTITION BY条件を満たす限り、複数入力ストリームからの入力を1つの大きなグループにグループ化する結合操作です。
テーブル演算子を個別に呼び出す場合、有効な入力のみが参加できます。有効な入力とは、同じパーティション キーを持つ入力のことです。
PARTITION BY ANYおよびPARTITION BYキー入力がすべて空で、DIMENSION入力が空でない場合、テーブル演算子は呼び出されません。テーブル演算子はあらゆるパーティションで呼び出され、それぞれの呼び出しごとに1つ以上の行を返すことができます。
cogroupは、複数の入力ストリームを処理するテーブル演算子がAMP数が異なるさまざまな構成のシステムで一定の結果を返すことを保証します。この機能はデフォルトで有効になっていますが、コントラクト関数でFNC_TblOpDisableCoGroupを呼び出すことにより、cogroupを無効にすることができます。ただし、cogroupが無効になった場合、さまざまな構成のシステムで複数の入力テーブル演算子により返される結果が異なる場合があります。
cogroupは、入力レコード形式が行/パーティッション セパレータ センチネルなしIndicDataに設定されている(形式属性「RECFMT」が「INDICBUFFMT1」に設定されている)テーブル演算子ではサポートされていません。このインジケータ バッファ形式では、テーブル演算子はcogroupに必要とされるパーティションによって呼び出されません。