预处理可以在本地和云上完成。我知道如何在本地运行它。
如何在云上运行它?
答案 0 :(得分:1)
如果您使用的是Datalab,只需在单元格中输入%ml preprocess --cloud,生成的模板就会有云挂钩。
如果要更改现有代码,请使用DataflowPipelineRunner替换DirectPipelineRunner。您还需要指定一些“命令行”参数。
以下是一个例子:
RUNNER = 'DataflowPipelineRunner'
OUTPUT_DIR = 'gs://{0}/preprocessed_output/'.format(BUCKET)
options = {
'staging_location': os.path.join(OUTPUT_DIR, 'tmp', 'staging')
'temp_location': os.path.join(OUTPUT_DIR, 'tmp'),
'job_name': 'preprocess' + '-' + datetime.datetime.now().strftime('%y%m%d-%H%M%S'),
'project': PROJECT,
'extra_packages': [ml.sdk_location],
'teardown_policy': 'TEARDOWN_ALWAYS',
'no_save_main_session': True
}
opts = beam.pipeline.PipelineOptions(flags=[], **options)
pipeline = beam.Pipeline(RUNNER, options=opts)