def _join(self, other_set, identifier): child = OperationInfo() child_set = JoinOperatorWhere(self._env, child) child.identifier = identifier child.parent_set = self child.other_set = other_set return child_set
def co_group(self, other_set): """ Initiates a CoGroup transformation which combines the elements of two DataSets into on DataSet. It groups each DataSet individually on a key and gives groups of both DataSets with equal keys together into a CoGroupFunction. If a DataSet has a group with no matching key in the other DataSet, the CoGroupFunction is called with an empty group for the non-existing group. The CoGroupFunction can iterate over the elements of both groups and return any number of elements including none. :param other_set: The other DataSet of the CoGroup transformation. :return:A CoGroupOperator to continue the definition of the CoGroup transformation. """ child = OperationInfo() other_set._info.children.append(child) child_set = CoGroupOperatorWhere(self._env, child) child.identifier = _Identifier.COGROUP child.parent_set = self child.other_set = other_set return child_set