in src/ab/utils/data_source.py [0:0]
def __init__(self, data_source, table_name, partitions: list = None, sampler_config: dict = None, sql=None):
super(CachedDataSource, self).__init__(data_source, table_name, partitions, sampler_config, sql)
db = self.db
# init keys
if self.type_ in ('mysql', 'ads'):
self.table_key = 'rds://{}:{}/{}.{}.pickle'.format(db.host, db.port, db.db, table_name)
self.cache_key = 'rds://{}:{}/{}.{}:{}.pickle'.format(db.host, db.port, db.db, table_name, db.sampler.key)
elif self.type_ in ('sqlite'):
self.table_key = 'sqlite://{}.{}.pickle'.format(db.db, table_name)
self.cache_key = 'sqlite://{}.{}:{}.pickle'.format(db.db, table_name, db.sampler.key)
elif self.type_ == 'odps':
if partitions:
partitions = '|' + ','.join(partitions)
else:
partitions = ''
self.table_key = 'odps://{}/{}.{}.pickle'.format(db.endpoint, db.project, table_name)
self.cache_key = 'odps://{}/{}.{}{}:{}.pickle'.format(db.endpoint, db.project, table_name, partitions,
db.sampler.key)
elif self.type_ == 'hive':
if partitions:
partitions = '|' + ','.join(partitions)
else:
partitions = ''
self.table_key = 'hive://{}:{}/{}.{}.pickle'.format(db.host, db.port, db.db, table_name)
self.cache_key = 'hive://{}:{}/{}.{}{}:{}.pickle'.format(db.host, db.port, db.db, table_name, partitions,
db.sampler.key)