python, pyspark导入自定义包

python, pyspark导入自定义包,第1张

python, pyspark导入自定义包 python导入自定义包

在python中,py文件是一个模块,可以import导入。

如果想导入一系列功能的多个py文件,可以把这些文件放入一个包里,这个包里需要一个__init__.py文件。init.py的作用就是把文件夹变成一个python模块。

情况1:当前目录下的py文件

比如当前目录下有个mmm.py文件,里面写了fun1函数和fun2函数,你可以

import mmm
mmm.fun1()
mmm.fun2()

或者

from mmm import fun1,fun2
fun1()
fun2()
情况2:当前目录下的包

比如当前目录下有一个文件夹myPackage, 里面有__init__.py和mmm.py,mmm.py里有fun1和fun2两个函数,你可以

import myPackage.mmm
myPackage.mmm.fun1()
myPackage.mmm.fun2()

或者

from myPackage.mmm import fun1,fun2
fun1()
fun2()
情况3:任意目录下的包或py文件

比如你有一个myPackage包,里面有__init__.py和mmm.py,mmm.py里有fun1和fun2两个函数,但是放在d盘任意的/dir1/dir2/目录下,你可以

import sys
#将D:dir1dir2路径添加进系统路径
sys.path.append(r"D:dir1dir2")

# 然后就可以正常导入包了
from myPackage.mmm import fun1,fun2
fun1()
fun2()

'''或者
import myPackage.mmm
myPackage.mmm.fun1()
myPackage.mmm.fun2()
'''
pyspark导入自定义包

如果有一个自定义文件file_name.py,是很多代码都需要导入这个文件的函数。那么可以把file_name.py压缩成file.zip,放在hdfs的/dir1/dir2/目录下,也可以放在正常目录下。使用addPyFile函数后就可以导入file_name这个模块了。

spark.sparkContext.addPyFile("hdfs:///dir1/dir2/file.zip")
import file_name
参考文献

[Python]自定义包及3种包导入方式

python导入自定义模块和包

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5670809.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存