我正在尝试运行一个非常简单的示例管道,其中扩展了 tensorflow,并带有 ML 元数据。
metadata_connection_config=metadata.mysql_metadata_connection_config(
host="10.124.128.3", database="ml_metadata", port=3306, username='root', password='****')
但是管道失败了。梁管道在该us-central1
区域上运行(没有网络参数或子网集)。Cloud SQL 位于同一区域。我还尝试通过私有 IP 进行身份验证。我收到此错误:
RuntimeError: Failed to establish connection to Metadata storage with error: mysql_real_connect failed: errno: 2002, error: Can't connect to MySQL server on '10.124.128.3' (36) [while running 'Run[CsvExampleGen]']
而且我不知道还能尝试什么。我不能使用 SSL 证书,这些是 Cloud SQL 支持的唯一内容:
https://www.tensorflow.org/tfx/api_docs/python/tfx/orchestration/metadata
该管道正在运行以下内容:
DATAFLOW_BEAM_PIPELINE_ARGS = [
'--project=' + 'ml-experiments-z',
'--runner=DataflowRunner',
'--temp_location=' + 'gs://taxi_dataset/tmp',
'--staging_location=' + 'gs://taxi_dataset/staging',
'--region=' + 'us-central1',
'--maxNumWorkers=' + '1',
'--experiments=shuffle_mode=service',
'--job-name=' + 'schemagen',
]
def create_pipeline():
no_eval_config = example_gen_pb2.Input(splits=[
example_gen_pb2.Input.Split(name='train', pattern='taxi_pipeline.csv'),
])
example_gen = CsvExampleGen(input=external_input(
'gs://taxi_dataset/'), input_config=no_eval_config)
statistics_gen = StatisticsGen(examples=example_gen.outputs['examples'])
schema_gen = SchemaGen(statistics=statistics_gen.outputs['statistics'])
return pipeline.Pipeline(
pipeline_name='ml-experiments-taxi-schema-gen',
pipeline_root='gs://taxi_dataset',
components=[example_gen, statistics_gen, schema_gen],
beam_pipeline_args=DATAFLOW_BEAM_PIPELINE_ARGS,
metadata_connection_config=metadata.mysql_metadata_connection_config(
host="10.124.128.3", database="ml_metadata", port=3306, username='root', password='<removed for security>')
)
if __name__ == '__main__':
BeamDagRunner().run(create_pipeline()) # from tfx.orchestration.beam.beam_dag_runner import BeamDagRunner
ml 元数据组件是可选的,管道可以在没有它的情况下成功运行。