如何在 Databricks Repos 的另一个文件中导入模块?

我正在使用 databricks 存储库

我有两个文件,我的函数在另一个名为 folder1 的文件夹中名为 func.py 的文件中

def lower_events(df):

 return df.withColumn("event",f.lower(f.col("event")))

我在其中调用 lower_events 的主要笔记本

import pyspark.sql.functions as f
from pyspark.sql.functions import udf, col, lower
import sys
 
sys.path.append("..")
from folder1 import func
 
df_clean = func.lower_events(df)

这会返回一个错误

NameError: name 'f' is not defined

但这是有效的

def lower_events(df):

 import pyspark.sql.functions as f
 from pyspark.sql.functions import col, when

 return df.withColumn("event",f.lower(f.col("event")))
亚历克斯·奥特

该错误是正确的,因为每个单独的 Python 模块都有自己的导入,并且不引用在主模块或其他模块中完成的导入(有关更多详细信息,请参阅Python 文档)。

所以你func.py应该在某处包含导入 - 在函数本身中不是必需的,它可能在文件的顶层:

import pyspark.sql.functions as f
from pyspark.sql.functions import col, when

def lower_events(df):
 return df.withColumn("event",f.lower(f.col("event")))

PS 你也可能不需要sys.path.append("..")- Databricks Repos 会自动将存储库的根添加到sys.path.

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将模块导入databricks笔记本中的另一个模块?

我应该如何在模块中导入另一个python文件

如何将一个databricks笔记本导入另一个?

如何在d.ts文件中导入类型(从另一个文件)而不将其转换为模块?

如何在另一个文件目录中的另一个脚本中导入 Python 文件?

如何訪問 Databricks Repos 元數據?

如何从 NodeJS 提供另一个 repos 构建的文件?

如何在 NestJS 的另一个 proto 文件中导入 proto 文件

Django:如何在另一个JavaScript文件中导入JavaScript

Java:如何在另一个文件中导入变量?

如何将在python文件中导入的库导入另一个python文件?

如何模拟.patch另一个模块中导入的类

如何在gitlab的另一个存储库中导入一个存储库的.targets文件?

如何在电子JS文件中导入另一个JS文件(位于同一目录中)

如何在ES6中的另一个JS文件中导入JS文件?

如何使用 Azure Devops 将 azure GIT repos 文件从一个文件夹移动到另一个文件夹

如何从另一个支柱文件中导入数据?

如何导入和使用从自身中的另一个文件导入类的python模块?

如何在Django Settings.py中导入另一个Python 3文件?

如何在单独的文件中使用值列表并在另一个脚本中导入和使用它?

如何在另一个Angular应用程序中导入Angular Web组件

如何在JS中的另一个函数中导入和使用函数

如何从另一个模块导入特征的实现

Python:如何从依赖于模块的另一个文件中正确导入函数

如何在 ASP.NET CORE MVC 中导入一个 js 文件模块?

Azure Repos Git 与 Azure Databricks 的集成

如何在从另一个模块导入逻辑的同时保留中间人文件的名称

angular6如何在另一个库中导入一个库?

如何从另一个文件导入另一个文件?