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 不并行运行的ML任务_Apache Spark_Apache Spark Ml - Fatal编程技术网

Apache spark 不并行运行的ML任务

Apache spark 不并行运行的ML任务,apache-spark,apache-spark-ml,Apache Spark,Apache Spark Ml,编辑以获取更多详细信息 我正在测试分类器的参数,支持向量机的参数组合约为3k,MLP的参数组合约为3k。因此,我希望并行运行测试以简化结果 我有一台24核/48线程的服务器和128gb的RAM。为了并行放置各种工作,我已经尝试使用多个工作者和多个执行者。我甚至用过。但是我总是得到顺序结果,也就是说,在我的results文件夹中,我可以看到只有一个分类器输出结果,并且生成结果所需的时间与顺序配置文件相匹配 我多次尝试提交同一个jar(使用spark submit),每次都测试不同的参数;我尝试将所

编辑以获取更多详细信息

我正在测试分类器的参数,支持向量机的参数组合约为3k,MLP的参数组合约为3k。因此,我希望并行运行测试以简化结果

我有一台24核/48线程的服务器和128gb的RAM。为了并行放置各种工作,我已经尝试使用多个工作者和多个执行者。我甚至用过。但是我总是得到顺序结果,也就是说,在我的results文件夹中,我可以看到只有一个分类器输出结果,并且生成结果所需的时间与顺序配置文件相匹配

我多次尝试提交同一个jar(使用
spark submit
),每次都测试不同的参数;我尝试将所有6k不同的命令组合生成一个文件,然后将其传递给gnu并行,但什么也没有。除了添加更多的执行器和更改每个执行器可用的资源外,我使用的标准spark设置是每次下载hadoop预构建的spark

正如我在文档中读到的,每次执行都应该使用相同的spark上下文。这是正确的吗

为什么我的测试没有并行性?员工、执行者和资源的理想组合是什么

编辑2将计划程序更改为公平,将发布有关此更改的结果

编辑3公平调度程序没有任何区别

伪代码

def main(args: Array[String]): Unit = {
  spark = SparkSession.builder().appName("foo").getOrCreate()
  sparkContext = spark.sparkContext

  //read properties
  //initiate classfier
  //cross validation procedures
  //write results

  spark.stop()
}

请对代码和Spark UI时间线进行编码:因为每个作业都使用所有可用资源?每个作业4gb就足够了。谢谢,但这不是问题所在。我想你没有明白我的意思。独立集群使用FIFO调度程序。如果所有线程(也称为核心)都分配给一个作业,那么您将获得一个连续的行为。但正如@T.Gawęda所说,你应该提供更多细节。目前还不清楚您使用哪种管理,如何配置单个作业,以及如何提交。@zero323,详细信息是否足够?请编写代码和Spark UI时间线。猜测:因为每个作业使用所有可用资源?每个作业4gb就够了。谢谢,但这不是问题所在。我想你没有明白我的意思。独立集群使用FIFO调度程序。如果所有线程(也称为核心)都分配给一个作业,那么您将获得一个连续的行为。但正如@T.Gawęda所说,你应该提供更多细节。目前还不清楚您使用哪种管理,如何配置单个作业,以及如何提交。@zero323,详细信息是否足够?