Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 在多个节点中运行spark作业_Apache Spark_Pyspark - Fatal编程技术网

Apache spark 在多个节点中运行spark作业

Apache spark 在多个节点中运行spark作业,apache-spark,pyspark,Apache Spark,Pyspark,我正在尝试运行一个示例spark作业,它工作正常。现在,我需要在群集中的多个节点上运行同一个作业。 需要在我的程序中更改什么以指示在多个节点中运行它 from pyspark import SparkConf, SparkContext import collections #conf = SparkConf().setMaster("local").setAppName("RatingsHistogram") conf = SparkConf().setMaster("hadoop-mast

我正在尝试运行一个示例spark作业,它工作正常。现在,我需要在群集中的多个节点上运行同一个作业。 需要在我的程序中更改什么以指示在多个节点中运行它

from pyspark import SparkConf, SparkContext
import collections

#conf = SparkConf().setMaster("local").setAppName("RatingsHistogram")
conf = SparkConf().setMaster("hadoop-master").setAppName("RatingsHistogram")
sc = SparkContext(conf = conf)

#lines = sc.textFile("file:///SparkCourse/ml-100k/u.data")
lines = sc.textFile("hdfs://hadoop-master:8020/user/hduser/gutenberg/ml-100k/u.data")
ratings = lines.map(lambda x: x.split()[2])
result = ratings.countByValue()

sortedResults = collections.OrderedDict(sorted(result.items()))
for key, value in sortedResults.items():
    print("%s %i" % (key, value))

唯一需要修改代码的选项是掌握spark上下文。要在hadoop上运行脚本,需要将
hadoop\u CONF\u DIR
放在环境中,并将master设置为
warn
。所有这些都在文档中进行了解释:

需要更改代码的唯一选项是掌握spark上下文。要在hadoop上运行脚本,需要将
hadoop\u CONF\u DIR
放在环境中,并将master设置为
warn
。所有这些都在文档中解释:

谢谢。我可以在spark cluster上运行..我有一个spark cluster和hadoop cluster设置..在spark cluster和hadoop cluster中运行spark作业有什么优势吗?这取决于您的需要。在hadoop Slacter上,您可以创建任意多个spark作业,这在多用户环境中非常有效。例如,使用标准Hadoop机制为每个用户的作业管理HDFS/Hive数据和纱线资源的权限。但是如果你是唯一一个使用spark的人,那么只为spark作业维护hadoop集群可能是不必要的开销。谢谢。我可以在spark cluster上运行..我有一个spark cluster和hadoop cluster设置..在spark cluster和hadoop cluster中运行spark作业有什么优势吗?这取决于您的需要。在hadoop Slacter上,您可以创建任意多个spark作业,这在多用户环境中非常有效。例如,使用标准Hadoop机制为每个用户的作业管理HDFS/Hive数据和纱线资源的权限。但是如果你是唯一一个使用spark的人,那么只为spark作业维护hadoop集群可能是不必要的开销。