Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.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
Amazon web services 火花罐;spark.deploy.spreadOut=false";在S3上提供性能效益_Amazon Web Services_Apache Spark_Hadoop_Amazon S3_Hdfs - Fatal编程技术网

Amazon web services 火花罐;spark.deploy.spreadOut=false";在S3上提供性能效益

Amazon web services 火花罐;spark.deploy.spreadOut=false";在S3上提供性能效益,amazon-web-services,apache-spark,hadoop,amazon-s3,hdfs,Amazon Web Services,Apache Spark,Hadoop,Amazon S3,Hdfs,我理解设置为true的“spark.deploy.spreadOut”对HDFS有好处,但对于S3,设置为false是否比true有好处?如果您运行的是Hadoop和HDFS,则使用该属性适用的spark单机调度器对您没有好处。相反,您应该运行纱线,由ResourceManager确定执行者的分布方式 如果您正在EC2中运行独立调度器,则设置该属性将有所帮助,默认值为true 换句话说,在这里,从哪里读取数据不是决定因素,主机的部署模式是 更好的性能优势来自于您尝试读取的文件数量,以及存储数据的

我理解设置为true的“spark.deploy.spreadOut”对HDFS有好处,但对于S3,设置为false是否比true有好处?

如果您运行的是Hadoop和HDFS,则使用该属性适用的spark单机调度器对您没有好处。相反,您应该运行纱线,由ResourceManager确定执行者的分布方式

如果您正在EC2中运行独立调度器,则设置该属性将有所帮助,默认值为true

换句话说,在这里,从哪里读取数据不是决定因素,主机的部署模式是


更好的性能优势来自于您尝试读取的文件数量,以及存储数据的格式。这实际上取决于您的工作负载

如果S3访问量很大,并且受到实例网络IO的限制, 设置spark.deploy.spreadOut=true会有所帮助,因为它会将其分布到更多实例上,从而增加应用程序可用的总网络带宽

但对于大多数工作负载来说,这没有什么区别

对于“spark.deploy.spreadOut”参数也有成本考虑。

如果您的spark处理是大规模的,您可能会使用多个AZ。 默认值“spark.deploy.spreadOut”=true将导致您的工作人员在数据洗牌时生成更多网络流量,从而导致AZ间流量

AWS上的AZ间流量可能代价高昂

如果网络流量足够大。
因此,我们通过spark.deploy.spreadOut对应用程序进行集群“=false,而不是因为成本问题而分散它们。

在独立计划程序中分散=false或=true会更好吗?我想不出一个合理的场景,为什么您希望它是假的。换句话说,由于您无法控制执行者任务的开始位置,因此您不能说一些与“仅在这些CPU+内存非常高的机器上运行执行器,但不要运行其他机器”