(self, job_id, cpn_name, role, party_id)
return data
Parameters
        ----------
        job_id: str
        cpn_name: str
        role: str
        party_id: int

        Returns
        -------
        dict
        single output example:
            {
                table_name: [],
                table_namespace: []

            }
        multiple output example:
            {
            train_data: {
                table_name: [],
                table_namespace: []
                },
            validate_data: {
                table_name: [],
                table_namespace: []
                }
            test_data: {
                table_name: [],
                table_namespace: []
                }
            }
def get_output_data_table(self, job_id, cpn_name, role, party_id):
        """

        Parameters
        ----------
        job_id: str
        cpn_name: str
        role: str
        party_id: int

        Returns
        -------
        dict
        single output example:
            {
                table_name: [],
                table_namespace: []

            }
        multiple output example:
            {
            train_data: {
                table_name: [],
                table_namespace: []
                },
            validate_data: {
                table_name: [],
                table_namespace: []
                }
            test_data: {
                table_name: [],
                table_namespace: []
                }
            }
        """
        party_id = str(party_id)
        result = self.client.component.output_data_table(job_id=job_id, role=role,
                                                         party_id=party_id, component_name=cpn_name)
        data = {}
        try:
            if 'retcode' not in result or result["retcode"] != 0:
                raise ValueError

            if "data" not in result:
                raise ValueError

            all_data = result["data"]
            n = len(all_data)
            # single data table
            if n == 1:
                single_data = all_data[0]
                del single_data["data_name"]
                data = single_data
            # multiple data table
            elif n > 1:
                for single_data in all_data:
                    data_name = single_data["data_name"]
                    del single_data["data_name"]
                    data[data_name] = single_data
            # no data table obtained
            else:
                LOGGER.info(f"No output data table found in {result}")

        except ValueError:
            raise ValueError("Job submit failed, err msg: {}".format(result))
        return data
def get_output_data_table ( self , job_id , cpn_name , role , party_id ) : party_id = str ( party_id ) result = self . client . component . output_data_table ( job_id = job_id , role = role , party_id = party_id , component_name = cpn_name ) data = { } try : if 'retcode' not in result or result [ "retcode" ] != 0 : raise ValueError if "data" not in result : raise ValueError all_data = result [ "data" ] n = len ( all_data ) # single data table if n == 1 : single_data = all_data [ 0 ] del single_data [ "data_name" ] data = single_data # multiple data table elif n > 1 : for single_data in all_data : data_name = single_data [ "data_name" ] del single_data [ "data_name" ] data [ data_name ] = single_data # no data table obtained else : LOGGER . info ( f"No output data table found in {result}" ) except ValueError : raise ValueError ( "Job submit failed, err msg: {}" . format ( result ) ) return data