预处理可以在本地和云端完成。我知道如何在本地运行它。
如何在云上运行它?
如果您使用 Datalab,只需在单元格中键入 %ml preprocess --cloud,生成的模板将具有云挂钩。
如果要更改现有代码,请将 DirectPipelineRunner 替换为 DataflowPipelineRunner。您还需要指定一些“命令行”参数。
这是一个例子:
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)