如何将一个py文件中创建的sparkcontext导入/检查到另一个py文件中?

2024-05-23 15:35:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我是新手。目前我正在尝试使用Pyspark提取Facebook的API数据。我正在调用的主文件中创建sparkcontext。我有多个.py文件夹中的文件,当我提交主程序时,所有这些文件都会在这里执行。在

当程序转到其他.py文件时,我想检查我创建的sparkcontext是否存在。如果是,我希望使用sparkcontext执行其他.py文件夹。有谁能帮我做这件事吗。如果我错了任何地方。请提出最好的建议。在

在示例:这是不是我的全部代码只是显示我的小代码问题

# Calling file name: main_file.py        
def fb_calling():
       import file2
       file2.fb_generaldata()

f __name__ == "__main__":
    conf = SparkConf()
    conf.setAppName('fb_sapp')
    conf.setMaster('yarn-client')
    sc = SparkContext(conf=conf)
    fb_calling()

# File:file2.py
def fb_generaldata():
    sc.parallelize('path')

我的问题是我想使用main中创建的sparkcontext_文件.py在file2.py中使用 你能告诉我怎么回事吗可能。如果我走错了路,你能正确引导我吗。我是全新的火花。 谢谢你的帮助


Tags: 文件代码namepy文件夹fbmainconf
1条回答
网友
1楼 · 发布于 2024-05-23 15:35:12

可以像这样将sparkContex作为参数传递给file2.py中的函数

# File:file2.py
def fb_generaldata(sc):
    sc.parallelize('path')

# main_file.py 
import file2

if __name__ == "__main__":
    conf = SparkConf()
    conf.setAppName('fb_sapp')
    conf.setMaster('yarn-client')
    sc = SparkContext(conf=conf)
    file2.fb_generaldata(sc)

根据您运行它的方式,您可能需要在导入之前将文件发送给您的工人,您可以使用sc.addPyFile("file2.py")或使用spark submit命令中的py-files参数来完成。在

相关问题 更多 >