【问题标题】:Start Azure Databricks clusters during business hours在工作时间启动 Azure Databricks 群集
【发布时间】:2021-09-22 22:43:57
【问题描述】:

我意识到 Databricks 集群有超时,这意味着 N 分钟后它将关闭集群。这是一个示例。

尽管这个功能很好,但它并不是我们所需要的。我们的团队在工作日的上午 8 点到下午 6 点工作。我们希望集群在早上 8 点自动启动,在工作时间保持“始终开启”,然后在下午 6 点之后超时。有意义吗?

问:这可能吗?

【问题讨论】:

    标签: azure-databricks


    【解决方案1】:

    是的,可以根据您的团队在工作日上午 8 点到下午 6 点使用 Azure 自动化来启动数据块集群。

    要在上午 8 点开始,您可以使用 Azure 自动化中的 PowerShell Runbook 按照预定时间启动集群,如下所示:

    PowerShell Runbook 应如下所示:

    $accessToken = "<Personal_Access_Token>"
    $apiUrl = "<Azure_Databricks_Endpoint_URL>"
    Set-DatabricksEnvironment -AccessToken $accessToken -ApiRootUrl $apiUrl
    Start-DatabricksCluster -ClusterID "<Cluster_ID>"
    

    要在下午 6 点停止,您可以设置属性在 600 分钟不活动后终止。

    注意:如果您的营业时间(上午 8 点到下午 6 点,这意味着 10 小时 x 60 分钟),您可以设置属性在 600 分钟不活动后终止,如下所示:

    Tutorial: Start Azure Databricks clusters during business hours 将引导您创建 PowerShell 工作流运行手册,以便在 Azure 自动化的工作时间内启动 Azure Databricks 集群。

    【讨论】:

      【解决方案2】:

      很遗憾,这是不可能的。

      但是,您可以通过清除“自动终止”复选框或将不活动期指定为 0 来选择退出自动终止。

      参考official document

      【讨论】:

        【解决方案3】:

        您可以通过在 existing cluster 上安排一些小作业来完成 Databricks 中的所有操作。在这种情况下,如果集群停止,那么它将启动以执行作业,并将一直保持到自动终止功能启动(我建议使用 65-70 分钟作为自动终止设置来平衡费用)。您可以使用类似的东西创建一个笔记本

        display(spark.range(1))
        

        并安排它在选定的集群上执行。要在工作时间内保持集群运行,您需要安排作业定期运行。这可以通过以下 cron 表达式来完成(参见 Quartz docs for reference):

        * 0 8-17 * * MON-FRI
        

        附:真的,应该是* 55 7-16 * * MON-FRI,在早上 8 点前 5 分钟开始。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-10-12
          • 1970-01-01
          • 2020-08-07
          • 2020-08-31
          • 2021-06-22
          • 1970-01-01
          • 2020-07-31
          • 1970-01-01
          相关资源
          最近更新 更多