Azure DevOps管道中未找到Databricks命令

3
我将尝试通过Azure DevOps管道将文件复制到Azure Databricks DBFS。以下是我使用的yml文件片段:
stages:
- stage: MYBuild
  displayName: "My Build"
  jobs:
    - job: BuildwhlAndRunPytest
      pool:
        vmImage: 'ubuntu-16.04'

      steps:
      - task: UsePythonVersion@0
        displayName: 'Use Python 3.7'
        inputs:
          versionSpec: '3.7'
          addToPath: true
          architecture: 'x64'

      - script: |
          pip install pytest requests setuptools wheel pytest-cov
          pip install -U databricks-connect==7.3.*
        displayName: 'Load Python Dependencies'

      - checkout: self
        persistCredentials: true
        clean: true

      - script: |
          echo "y
          $(databricks-host)
          $(databricks-token)
          $(databricks-cluster)
          $(databricks-org-id)
          8787" | databricks-connect configure
          databricks-connect test
        env:
          databricks-token: $(databricks-token)
        displayName: 'Configure DBConnect'

      - script: |
          databricks fs cp test-proj/pyspark-lib/configs/config.ini dbfs:/configs/test-proj/config.ini

在调用 databricks fs cp 命令的阶段,我遇到了以下错误:
/home/vsts/work/_temp/2278f7d5-1d96-4c4e-a501-77c07419773b.sh: line 7: databricks: command not found

然而,当我运行databricks-connect test时,它能够成功执行该命令。如果我在某个地方漏掉了一些步骤,请帮忙解决。

1个回答

3
databricks 命令位于 databricks-cli 包中,而不是 databricks-connect 包中,因此您需要更改 pip install 命令。
另外,对于 databricks 命令,您只需要设置环境变量 DATABRICKS_HOSTDATABRICKS_TOKEN 即可,如下所示:
- script: |
    pip install pytest requests setuptools wheel
    pip install -U databricks-cli
  displayName: 'Load Python Dependencies'

- script: |
    databricks fs cp ... dbfs:/...
  env:
    DATABRICKS_HOST: $(DATABRICKS_HOST)
    DATABRICKS_TOKEN: $(DATABRICKS_TOKEN)
  displayName: 'Copy artifacts'

顺便提一句,以下是一个关于如何在Databricks+笔记本上进行CI/CD的示例。你也可能对cicd-templates项目感兴趣。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接