gpt4 book ai didi

bash - 使用命令行 databricks 提交具有不同参数的作业

转载 作者:行者123 更新时间:2023-12-02 23:42:42 24 4
gpt4 key购买 nike

我有 jar 和关联的属性文件。为了运行该 jar,我在 Azure 上的 Databricks 上执行了以下操作:

我点击:

  +Create Job

Task: com.xxx.sparkmex.core.ModelExecution in my.jar - Edit / Upload JAR / Remove
Parameters: Edit
Main Class: com.xxx.sparkmex.core.ModelExecution
Arguments: ["-file","/dbfs/mnt/mypath/myPropertyFile.properties","-distributed"]

Cluster: MyCluster

然后我单击RunNow

我正在尝试使用 databricks cli 来实现相同的目标

这就是我正在做/想做的事情:

1)上传属性文件

dbfs cp myPropertyFile.properties dbfs:/mnt/mypath/myPropertyFile.properties 

2)创建一个作业:databricks jobs create 当我这样做时,它会要求一个 --jason-file。我从哪里获取 Jason 文件?

3)上传jar文件:如何上传jar文件?

4) 上传属性文件:如何上传属性文件?

5) 重启集群:databricks cluster restart --cluster-id MYCLUSTERID

6) 运行作业

然后重复。我想重复的原因是每次我上传具有不同设置的新属性文件时。我不知道如何执行步骤 2 至 4 和步骤 5。

最佳答案

对于第二步,您需要自己创建 JSON 文件。将此视为您的集群配置。 Here's an example使用 JAR 文件创建作业:

{
"name": "SparkPi JAR job",
"new_cluster": {
"spark_version": "5.2.x-scala2.11",
"node_type_id": "r3.xlarge",
"aws_attributes": {"availability": "ON_DEMAND"},
"num_workers": 2
},
"libraries": [{"jar": "dbfs:/docs/sparkpi.jar"}],
"spark_jar_task": {
"main_class_name":"org.apache.spark.examples.SparkPi",
"parameters": "10"
}
}

将其保存为 JSON 文件并将其包含在您的 API 请求中。您还可以将 JSON 直接包含在 curl 命令中。有关示例,请参阅上面的链接。您可能希望将 myPropertyFile.properties 作为值传递给 JSON 中的 "parameters" 键。

您可以按照执行步骤 1 的相同方式上传 JAR 和属性文件 - the DBFS command group Databricks CLI 的。

databricks fs cp /path_to_local_file/myJar.jar dbfs:/path_to_file_on_dbfs/

创建作业并获得作业 ID 后,您可以使用 run-now API 来启动它。

如果您想自动执行此过程并使其可重复,您可以编写一个 bash 脚本,该脚本接受参数并调用 CLI。或者,您可以使用 wrappers for the CLI in Python或者编写一个 Python 脚本来自己管理 REST API 调用。

关于bash - 使用命令行 databricks 提交具有不同参数的作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57804193/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com