我有报废的数据,想使用luigi进行处理。实际上,我已经进行了所有转换。现在,我正在处理如何将所有文件传递到luigi管道。 我有外部任务正在返回我的抓取数据的文件名,该数据在glob生成的列表中被调用。从每个输入文件中,我正在清理并转换输出
函数是我调用管道的第一步,如下所示:
if __name__ == '__main__':
luigi.build([l.Load()], local_scheduler=False)
class ReadFile(luigi.ExternalTask):
filename = luigi.Parameter()
def output(self):
return luigi.LocalTarget(str(self.filename))
class ExtractRawFiles(luigi.Task):
scrape_date = ''
scrape_hour = ''
def output(self):
return luigi.LocalTarget(f'{LUIGI_RAW_DIRECTORY}/{self.scrape_date}_{self.scrape_hour}.csv')
def requires(self):
for input_filename in glob.glob(f'{conf.RAW_DATA_DIRECTORY}/**/*.csv', recursive=True):
yield ReadFile(input_filename)
def run(self):
for i in self.input():
df.to_csv(f'{LUIGI_RAW_DIRECTORY}/{self.scrape_date}_{self.scrape_hour}.csv')
所以问题是。什么是在多个文件上应用管道的最佳方法。