#azure #azure-sql-database #azureml #azureml-python-sdk
#azure #azure-sql-database #azure-служба машинного обучения #azureml-python-sdk
Вопрос:
Справочная информация: кажется, есть способ параметризации DataPath
с помощью PipelineParameter
https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-showcasing-datapath-and-pipelineparameter.ipynb
Но я хотел бы параметризовать свой SQL-запрос с помощью PipelineParameter, например, с помощью этого запроса
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 для параметризации 10
и 20
как param_1
и param_2
. Возможно ли это?
Ответ №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))