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

将python模块导入databricks中的python脚本,python,azure-pipelines,azure-data-factory,databricks,azure-databricks,Python,Azure Pipelines,Azure Data Factory,Databricks,Azure Databricks,我正在Azure DataFactory中从事一个项目,我有一个运行DataRicks python脚本的管道。此特定脚本位于Databricks文件系统中,由ADF管道运行,它从位于同一文件夹中的另一个python脚本导入模块(两个脚本都位于dbfs:/FileStore/code) 下面的代码可以将python模块导入Databricks笔记本,但在导入python脚本时不起作用 sys.path.insert(0,'dbfs:/FileStore/code/') import conn_c

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

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

sys.path.insert(0,'dbfs:/FileStore/code/')
import conn_config as Connect
在集群日志中,我得到:
导入错误:没有名为conn\u config的模块


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

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

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

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

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

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


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

    还有其他选项吗?我在想,这可能是在给出文件存储路径之前引用python文件my specific dbfs的一种方式。您可以将文件上载到dbfs上的任何位置,甚至可以将单独的ADLS容器装载到DBFS@IspanCristi那么,任何给定的解决方案都有效吗?如果没有,请更改您的问题,以便人们能够真正了解您想要实现的目标以及您必须遵守的要求!谢谢,你说得对。这是一个错误。这确实花了一段时间。这并不能提供问题的答案。一旦你有足够的钱,你将能够;相反-
    spark.sparkContext.addPyFile("dbfs:/FileStore/code/conn_config.py")
    import conn_config as C