路径包含空名称

时间:2020-05-16 22:36:20

标签: bash databricks azure-databricks spark-notebook

我正在运行以下任务,以使用Azure DevOps发布管道将Notebook上传到Databricks:

databricks workspace mkdirs //build

databricks workspace import --language PYTHON --format SOURCE
--overwrite _databricks/notebook/$(notebook_name)-$(Build.SourceVersion).py //build/$(notebook_name)-$(Build.SourceVersion).py

但收到错误消息:路径(//build/helloworld-04747aa082426141c5c286fbe5eab2d7d1bd5983.py)包含空名称

2020-05-16T18:54:01.5665867Z ##[section]Starting: Upload Notebook to Databricks
2020-05-16T18:54:01.5831890Z ==============================================================================
2020-05-16T18:54:01.5832257Z Task         : Bash
2020-05-16T18:54:01.5832539Z Description  : Run a Bash script on macOS, Linux, or Windows
2020-05-16T18:54:01.5832833Z Version      : 3.163.2
2020-05-16T18:54:01.5833073Z Author       : Microsoft Corporation
2020-05-16T18:54:01.5833436Z Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/bash
2020-05-16T18:54:01.5833824Z ==============================================================================
2020-05-16T18:54:01.8378449Z Generating script.
2020-05-16T18:54:01.8525502Z [command]"C:\Program Files\Git\bin\bash.exe" --noprofile --norc -c pwd
2020-05-16T18:54:01.8915864Z /d/a/_temp
2020-05-16T18:54:01.8975224Z 
2020-05-16T18:54:01.9001870Z ========================== Starting Command Output ===========================
2020-05-16T18:54:01.9009310Z [command]"C:\Program Files\Git\bin\bash.exe" --noprofile --norc /d/a/_temp/5c6b246a-d6b4-45f3-9c35-c1f64320d54b.sh
2020-05-16T18:54:09.0829994Z **Error: b'{"error_code":"INVALID_PARAMETER_VALUE","message":"Path (//build/helloworld-04747aa082426141c5c286fbe5eab2d7d1bd5983.py) contains empty name"}'**
2020-05-16T18:54:09.1242892Z 
2020-05-16T18:54:09.1369153Z ##[error]Bash exited with code '1'.
2020-05-16T18:54:09.1385662Z ##[section]Finishing: Upload Notebook to Databricks

令人惊讶的是,相同的代码运行良好,对其他人没有任何错误。

从Google搜索中找不到任何内容。有任何想法/线索/建议吗?谢谢

2 个答案:

答案 0 :(得分:1)

由于指定了错误的路径,即(//build),您遇到此错误消息。确保您通过了正确的路径,即(/build)。

enter image description here

我建议您更正使用Azure DevOps发布管道将笔记本上传到Databricks的任务,如下所示:

databricks workspace mkdirs /build
databricks workspace import --language PYTHON --format SOURCE --overwrite _databricks-example/notebook/$(notebook_name)-$(Build.SourceVersion).py /build/$(notebook_name)-$(Build.SourceVersion).py

答案 1 :(得分:0)

我遇到过类似 - 中提到的类似问题:https://forums.databricks.com/questions/39420/path-contains-empty-name.html

这是因为您可能正在使用 Windows 托管代理。这可以通过将代理更改为使用 ubuntu 来解决。我使用了 ubuntu 1604 (ubuntu-16.04)。 请使用下面提到的路径(不需要在前面加“/”)

databricks 工作区 mkdirs /build 数据块工作区导入 --language PYTHON --format SOURCE --overwrite _databricks-example/notebook/$(notebook_name)-$(Build.SourceVersion).py /build/$(notebook_name)-$(Build.SourceVersion).py< /p>

我希望这可以帮助您解决问题。干杯!

snapshot of agent used in ADO pipeline