def _test_file_custom(self, parquet_file, csv_file):
        expected_data = []
        with open(csv_file, 'rb') as f:
            expected_data = list(csv.reader(f, delimiter='|'))

        def _custom_datatype(in_dict, keys):
            '''
            return rows like the csv outputter

            Could convert to a dataframe like this:
                import pandas
                df = pandas.DataFrame(in_dict)
                return df
            '''
            columns = [in_dict[key] for key in keys]
            rows = zip(*columns)
            return rows

        actual_data = parquet.dump(parquet_file, Options(format='custom'), out=_custom_datatype)

        assert len(expected_data) == len(actual_data)
        footer = parquet.read_footer(parquet_file)
        cols = [s.name for s in footer.schema]

        for expected, actual in zip(expected_data, actual_data):
            assert len(expected) == len(actual)
            for i, c in enumerate(cols):
                if c in actual:
                    assert expected[i] == actual[c]
Create a JobExecution from the values dictionary.
dataset/ETHPy150Open cloudera/hue/desktop/core/ext-py/parquet-python/test/test_read_support.py/TestCompatibility._test_file_custom--crossover with--dataset/ETHPy150Open openstack/sahara/sahara/conductor/manager.py/ConductorManager.job_execution_create