我正在尝试在 Spark HDInsight 集群上运行 python wordcount,我正在从 Jupyter 运行它。我实际上不确定这是否是正确的方法,但我找不到任何关于如何在 HDInsight Spark 群集上提交独立 python 应用程序的有用信息。
编码 :
import pyspark
import operator
from pyspark import SparkConf
from pyspark import SparkContext
import atexit
from operator import add
conf = SparkConf().setMaster("yarn-client").setAppName("WC")
sc = SparkContext(conf = conf)
atexit.register(lambda: sc.stop())
input = sc.textFile("wasb:///example/data/gutenberg/davinci.txt")
words = input.flatMap(lambda x: x.split())
wordCount = words.map(lambda x: (str(x),1)).reduceByKey(add)
wordCount.saveAsTextFile("wasb:///example/outputspark")
Run Code Online (Sandbox Code Playgroud)
我收到但不明白的错误消息:
ValueError Traceback (most recent call last)
<ipython-input-2-8a9d4f2cb5e8> in <module>()
6 from operator import add
7 import atexit
----> 8 sc = SparkContext('yarn-client') …Run Code Online (Sandbox Code Playgroud) python apache-spark pyspark jupyter-notebook azure-hdinsight
我在Python中有一个wordcount,我希望在Spark上运行多个文本文件并获得一个输出文件,所以这些单词在所有文件中都被计算在内.我尝试了一些解决方案,例如这里和这里找到的解决方案,但它仍然提供与输入文件数量相同数量的输出文件.
rdd = sc.textFile("file:///path/*.txt")
input = sc.textFile(join(rdd))
Run Code Online (Sandbox Code Playgroud)
要么
rdd = sc.textFile("file:///path/f0.txt,file:///path/f1.txt,...")
rdds = Seq(rdd)
input = sc.textFile(','.join(rdds))
Run Code Online (Sandbox Code Playgroud)
要么
rdd = sc.textFile("file:///path/*.txt")
input = sc.union(rdd)
Run Code Online (Sandbox Code Playgroud)
不工作.任何人都可以建议如何制作一些输入文本文件的RDD?
提前致谢...