首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从azure DevOps管道运行/执行Databricks笔记本

如何从azure DevOps管道运行/执行Databricks笔记本
EN

Stack Overflow用户
提问于 2022-02-16 14:57:03
回答 1查看 731关注 0票数 1

我成功地将我的工件(笔记本)部署到Databrick中。但是如何从Azure DevOps管道直接运行笔记本呢?

有什么办法我能做到吗?

EN

回答 1

Stack Overflow用户

发布于 2022-02-17 15:36:14

Azure Devops运行了您可以配置的笔记本任务。

或者你也可以使用这个模板。创建一个新的azure_pipelines.yaml,并混淆所需的变量:

代码语言:javascript
复制
resources:
  - repo: self

trigger:
  - master

variables:
  databricks-host: 'https://${databricksRegion}.azuredatabricks.net'
  notebook-folder: '/Shared/tmp/'
  cluster-id: '1234-567890-bobby123'
  notebook-name: 'tests'

steps:
- task: UsePythonVersion@0
  displayName: 'Use Python 3.x'

- script: |
    pip install databricks-cli
  displayName: 'Install databricks-cli'

- script: |
   databricks fs cp mnt/demo/ dbfs:/tmp/demo --recursive --overwrite

   databricks workspace import_dir src/ $(notebook-folder) -o

   JOB_ID=$(databricks jobs create --json '{
     "name": "Testrun",
     "existing_cluster_id": "$(cluster-id)",
     "timeout_seconds": 3600,
     "max_retries": 1,
     "notebook_task": {
       "notebook_path": "$(notebook-folder)$(notebook-name)",
       "base_parameters": {}
     }
   }' | jq '.job_id')

   RUN_ID=$(databricks jobs run-now --job-id $JOB_ID | jq '.run_id')

   job_status="PENDING"
   while [ $job_status = "RUNNING" ] || [ $job_status = "PENDING" ]
   do
     sleep 2
     job_status=$(databricks runs get --run-id $RUN_ID | jq -r '.state.life_cycle_state')
     echo Status $job_status
   done

   RESULT=$(databricks runs get-output --run-id $RUN_ID)

   RESULT_STATE=$(echo $RESULT | jq -r '.metadata.state.result_state')
   RESULT_MESSAGE=$(echo $RESULT | jq -r '.metadata.state.state_message')
   if [ $RESULT_STATE = "FAILED" ]
   then
     echo "##vso[task.logissue type=error;]$RESULT_MESSAGE"
     echo "##vso[task.complete result=Failed;done=true;]$RESULT_MESSAGE"
   fi

   echo $RESULT | jq .
  displayName: 'Run Databricks Notebook'
  env:
    DATABRICKS_TOKEN: $(databricks-token)
    DATABRICKS_HOST: $(databricks-host)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71144147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档