我很好奇在哪里指定执行者的数量的最佳实践是什么?
似乎有两个地方可以做到这一点,一个是当它提交时,另一个是当它构建SparkSession时。
正如检查的那样,它似乎可以同时使用(我使用Spark独立模式和pyspark,部署模式是客户端模式)。
有人知道什么是正确的方法或有什么不同吗?
谢谢你,谢谢
我尝试在spark-submit中指定执行者的数量
$ spark-submit --master spark://spark-master:7077 --py-files my_libs.zip my_spark-main.py
字符串
我的my_spark-main.py是这样的
spark = SparkSession.builder \
.appName("Spark-job-on-cluster-example") \
.master("spark://master-node:7077") \
.config("spark.executor.instances", 3) \
.config("spark.eventLog.enabled", True) \
.getOrCreate()
# some code below ...
型
1条答案
按热度按时间gt0wga4j1#
当使用
spark-submit
时,它会在从命令行提交作业时指定执行器的数量。我认为这对控制和灵活性很好。第二个只是让你的应用程序更加独立。
如果你更喜欢控制代码,使用
spark-submit
。如果你想让你的应用程序更独立,在SparkSession.builder
中设置它。