def csvimport_table(name): from spendb.core import data_manager from spendb.etl.extract import validate_table, load_table package = data_manager.package(uuid.uuid4().hex) source = package.ingest(data_fixture(name)) source = validate_table(source) rows = list(load_table(source)) return source.meta.get('fields'), rows
def load(job, dataset, source_name): """ Load the table artifact for this dataset into the fact table. """ source = Source(job.package, source_name) job.set_source(source) dataset.data = {} dataset.fields = source.meta.get('fields', {}) if not len(dataset.fields): raise ValueError('No columns recognized in source data.') db.session.commit() dataset.fact_table.drop() dataset.fact_table.create() dataset.fact_table.load_iter(load_table(source))