将python模块导入databricks中的python脚本



我正在Azure DataFactory中处理一个项目,我有一个运行Databricks python脚本的管道。这个特定的脚本位于Databricks文件系统中,由ADF管道运行,它从位于同一文件夹中的另一个python脚本导入模块(两个脚本都位于dbfs:/FileStore/code中(。

下面的代码可以将python模块导入Databricks笔记本,但在导入python脚本时不起作用。

sys.path.insert(0,'dbfs:/FileStore/code/')
import conn_config as Connect

在集群日志中,我得到:Import Error: No module named conn_config

我想这个问题与python文件无法识别Databricks环境有关。有什么帮助吗?

我终于用spark完成了它。创建Spark会话后(如果集群集成了Spark会话,则无需启动会话(:

spark.sparkContext.addPyFile("dbfs:/FileStore/code/conn_config.py")
import conn_config as C

此语法可以将python模块导入从Azure DataFactory运行的python脚本。

不能将path与dbfs:一起使用-Python对这个文件系统一无所知。你有两个选择:

  1. dbfs:/替换为/dbfs/(在社区版上不起作用(
  2. 使用dbutils.fs.cp("dbfs:/FileStore/code", "file:/tmp/code", True)将文件从DBFS复制到本地文件系统,并引用该本地文件名:/tmp/code

使用%run relative_path/file_name,则可以立即使用模块,而无需导入。

您可以只使用对文件存储的引用:

(0,'dbfs:/FileStore/code')

相关内容

  • 没有找到相关文章

最新更新