gpt4 book ai didi

python - 从常规 python 启动 pyspark

转载 作者:太空宇宙 更新时间:2023-11-04 03:24:00 25 4
gpt4 key购买 nike

所以我正在为另一个应用程序构建一个 python 扩展。我想在我的扩展中使用 pyspark 来做一些流式传输,但我遇到了麻烦,因为父应用程序使用普通的旧 python 调用我的扩展。

我将无法更改父应用程序调用我的扩展程序的方式,那么如何从我的 python 代码中启动 pyspark 或 spark-submit?

我实际上还没有为 pyspark 编写代码。我想先启动并运行 SparkContext。但是对于这个问题,让我们使用 Spark 网站上的字数统计示例:

from pyspark import SparkContext


if __name__ == "__main__":
if len(sys.argv) != 2:
print("Usage: wordcount <file>", file=sys.stderr)
exit(-1)
sc = SparkContext(appName="PythonWordCount")
lines = sc.textFile(sys.argv[1], 1)
counts = lines.flatMap(lambda x: x.split(' ')) \
.map(lambda x: (x, 1)) \
.reduceByKey(add)
output = counts.collect()
for (word, count) in output:
print("%s: %i" % (word, count))

sc.stop()

如何从另一个 python 程序运行此应用程序?

最佳答案

好吧,我终于明白了。这似乎对我有用

import sys,os
sys.path.append(os.environ['SPARK_HOME'] + '/python')
sys.path.append(os.environ['SPARK_HOME']+ '/python/build')
sys.path.append(os.environ['SPARK_HOME'] + '/python/pyspark')

#This part was neccesary for me, since I have a weird set up
sys.path.insert('0' + '/usr/bin')

import pyspark
sc = pyspark.SparkContext()

关于python - 从常规 python 启动 pyspark,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33684912/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com