我正在使用带有YARN的远程Spark集群。我正在尝试在Windows中执行此代码,并发送要在Spark集群中执行的代码:
from pyspark import SparkContext, SparkConf
from operator import add
conf = SparkConf().setAppName("WordCount").setMaster("yarn-cluster")
sc = SparkContext(conf = conf)
data = sc.parallelize(list("Hello World"))
counts = data.map(lambda x: (x, 1)).reduceByKey(add).sortBy(lambda x: x[1], ascending=False).collect()
for (word, count) in counts:
print("{}: {}".format(word, count))
sc.stop()
我在Windows客户端中有conf文件,并创建了所需的PATH变量,但出现此错误:
Exception in thread "main" org.apache.spark.SparkException: Cluster deploy mode is not applicable to Spark shells.
看来您只能以这种方式在客户端模式下运行。
这意味着要能够从Windows执行代码,我需要进行火花提交吗?
我要从中调用Spark来执行代码的Windows客户端中需要安装Spark的哪些元素?