in src/ab/plugins/db/odps_helper.py [0:0]
def get_instance(db: ODPS, config: dict):
"""
args:
config: {
'type': random/head/tail/column_variety_random,
'count': max sample size
}
"""
config = app.config.FORCE_SAMPLER or config or app.config.SAMPLER
assert isinstance(config.get('count'), int) and config['count'] > 0, \
'sampler.count must be positive integer, not string'
if config['type'] == 'random':
return RandomSampler(db, config)
elif config['type'] == 'head':
return HeadSampler(db, config)
elif config['type'] == 'tail':
return TailSampler(db, config)
elif config['type'] == 'column_variety_random':
return ColumnVarietyRandomSampler(db, config)
else:
raise ValueError('unknown sampler type:', config['type'])