def _gen_random_map(self, random_map_type): size = random.randint(100, 500) random_map_type = types.validate_data_type(random_map_type) key_arrays = self._gen_random_array(random_map_type.key_type, size) value_arrays = self._gen_random_array(random_map_type.value_type, size) m = OrderedDict(zip(key_arrays, value_arrays)) return m
def _gen_random_array(self, random_type, size=None): size = size or random.randint(100, 500) random_type = types.validate_data_type(random_type) if isinstance(random_type, types.Array): random_type = random_type.value_type method = getattr(self, '_gen_random_%s' % random_type.name) array = [method() for _ in range(size)] return array
def setup(self): datatypes = lambda *types: [validate_data_type(t) for t in types] schema = Schema.from_lists(['name', 'id', 'fid', 'isMale', 'scale', 'birth'], datatypes('string', 'bigint', 'double', 'boolean', 'decimal', 'datetime')) table = MockTable(name='pyodps_test_expr_table', schema=schema) self.tb = DataFrame(table) import pandas as pd df = pd.DataFrame([['name1', 2, 3.14], ['name2', 100, 2.7]], columns=['name', 'id', 'fid']) self.pd = DataFrame(df) self.expr = self.tb.join(self.pd, on='name') self.engine = MixedEngine(self.odps)