如何减少Spark MLib中的任务大小?

时间:2017-10-31 21:49:19

标签: java apache-spark spark-streaming apache-spark-mllib

我正在尝试使用Apache Spark(2.2.0)和Java实现随机森林分类器。

基本上我跟着the example from the Spark documentation

出于测试目的,我正在使用本地群集:

SparkSession spark = SparkSession
                    .builder()
                    .master("local[*]")
                    .appName(appName)
                    .getOrCreate();

我的训练/测试数据包括30k行。数据从REST API获取并转换为Spark DataSet。

List<PreparedWUMLogFile> logs = //... get from REST API
Dataset<PreparedWUMLogFile> dataSet = spark.createDataset(logs, Encoders.bean(PreparedWUMLogFile.class));
Dataset<Row> data = dataSet.toDF();

对于许多阶段,我收到以下警告消息:

  

[warn] o.a.s.s.TaskSetManager - 阶段0包含一个非常大的任务(3002 KB)。建议的最大任务大小为100 KB。

在这种情况下如何减少任务大小?

修改

更具体一点:30个阶段中有5个产生这些警告信息。

  • rdd at StringIndexer.scala:111(两次)
  • 参加VectorIndexer.scala:119
  • rdd at VectorIndexer.scala:122
  • rdd at Classifier.scala:82

0 个答案:

没有答案