def get_instance()

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'])