【问题标题】:Parameterized SQL query in Azure MLAzure ML 中的参数化 SQL 查询
【发布时间】:2020-10-23 23:52:51
【问题描述】:

背景:似乎有一种方法可以用PipelineParameter 参数化DataPath https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-showcasing-datapath-and-pipelineparameter.ipynb

但我想用 PipelineParameter 参数化我的 SQL 查询,例如,用这个查询

sql_query = """
SELECT id, foo, bar FROM baz
WHERE baz.id BETWEEN 10 AND 20
"""
dataset = Dataset.Tabular.from_sql_query((sql_datastore, sql_query))

我想使用 PipelineParameter 将 1020 参数化为 param_1param_2。这可能吗?

【问题讨论】:

    标签: azure azure-sql-database azureml azureml-python-sdk


    【解决方案1】:

    找到了一种方法:

    将您的参数传递给 PythonScriptStep

    param_1 = PipelineParameter(name='min_id', default_value=5)
    param_2 = PipelineParameter(name='max_id', default_value=10)
    sql_datastore = "sql_datastore"
    step = PythonScriptStep(script_name='script.py', arguments=[param_1, param_2, 
    sql_datastore])
    

    在 script.py 中

    min_id_param = sys.argv[1]
    max_id_param = sys.argv[2]
    sql_datastore_name = sys.argv[3]
    query = """
    SELECT id, foo, bar FROM baz
    WHERE baz.id BETWEEN {} AND {}
    """.format(min_id_param, max_id_param)
    run = Run.get_context()
    sql_datastore = Datastore.get(run.experiment.workspace, sql_datastore_name)
    dataset = Dataset.Tabular.from_sql_query((sql_datastore, query))
    

    【讨论】:

      猜你喜欢
      • 2017-09-15
      • 2012-06-09
      • 1970-01-01
      • 2014-07-22
      • 1970-01-01
      • 1970-01-01
      • 2011-10-10
      • 1970-01-01
      相关资源
      最近更新 更多