我们如何参数化 Azure Synapse Spark 作业?

How can we parameterise Azure Synapse Spark Jobs?

Azure Synapse 中的 Spark 作业 UI 可以选择将命令行参数传递给底层代码,但似乎没有任何参数化这些参数的选项。

同样,Azure Pipelines 中的 Spark 作业定义 activity 不提供任何参数化选项。

有什么方法可以将参数传递给 Azure Synapse 作业吗?

Currently, the product team working on the public document/tutorial on How can we parameterise Spark jobs.

现在,您可以使用作业定义 JSON 文件来参数化 Spark 作业。附上一个示例文件:

{
  "targetBigDataPool": {
    "referenceName": "yifso-1019",
    "type": "SparkComputeReference"
  },
  "requiredSparkVersion": "2.4",
  "jobProperties": {
    "name": "job definition sample",
    "file": "wasbs://ContainerName@StorageName.blob.core.windows.net/SparkSubmission/artifact/default_artifact.jar",
    "className": "sample.LogQuery",
    "args": [],
    "jars": [],
    "pyFiles": [],
    "archives": [],
    "files": [],
    "conf": {
      "spark.hadoop.fs.azure.account.key.StorageName.blob.core.windows.net": "StorageAccessKey"
    },
    "numExecutors": 2,
    "executorCores": 4,
    "executorMemory": "14g",
    "driverCores": 4,
    "driverMemory": "14g"
  }
}

作业定义JSON可以直接修改、导入和运行。

它在 Azure Synapse Pipelines 中。 2021 年 5 月发布。