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
Apache spark Spark:IDF的TreeAgregate需要很长时间_Apache Spark - Fatal编程技术网

Apache spark Spark:IDF的TreeAgregate需要很长时间

Apache spark Spark:IDF的TreeAgregate需要很长时间,apache-spark,Apache Spark,我使用的是Spark 1.6.1,我有一个数据帧,如下所示: +-----------+---------------------+-------------------------------+ |ID |dateTime |title | +-----------+---------------------+-------------------------------+ |809907895 |20

我使用的是Spark 1.6.1,我有一个数据帧,如下所示:

+-----------+---------------------+-------------------------------+
|ID         |dateTime             |title                          |
+-----------+---------------------+-------------------------------+
|809907895  |2017-01-21 23:00:01.0|                               |
|1889481973 |2017-01-21 23:00:06.0|Man charged with murder of ... |
|979847722  |2017-01-21 23:00:09.0|Munster cruise to home Cham... |
|18894819734|2017-01-21 23:00:11.0|Man charged with murder of ... |
|17508023137|2017-01-21 23:00:15.0|Emily Ratajkowski hits the ... |
|10321187627|2017-01-21 23:00:17.0|Gardai urge public to remai... |
|979847722  |2017-01-21 23:00:19.0|Sport                          |
|19338946129|2017-01-21 23:00:33.0|                               |
|979847722  |2017-01-21 23:00:35.0|Rassie Erasmus reveals the ... |
|1836742863 |2017-01-21 23:00:49.0|NAMA sold flats which could... |
+-----------+---------------------+-------------------------------+
我正在做以下操作:

val aggDF = df.groupBy($"ID")
              .agg(concat_ws(" ", collect_list($"title")) as "titlesText")
然后在
aggDF
DataFrame上,我安装了一个从
titleText
列中提取TFIDF特性的管道(通过应用
tokenizer
stopWordRemover
HashingTF
然后
IDF

当我调用
pipline.fit(aggDF)
时,代码到达IDF.scala:54的一个阶段
treeaggreegate(我可以在UI上看到),然后它卡在那里,没有任何进展,没有任何错误,我等待了很长时间,没有任何进展,也没有关于UI的有用信息

下面是我在UI中看到的示例(很长一段时间内没有任何变化):

  • 可能的原因是什么
  • 如何跟踪和调试此类问题
  • 有没有其他方法可以提取相同的特征
您指定了吗


因为IDF必须处理的数据量将与HashingTF生成的功能数量成正比,并且很可能会在磁盘上溢出大量数据,这会浪费时间。

我猜您的数据比上表中的数据大?看起来有一个2.7GB的随机写入,这可能需要相当长的时间,这取决于分区的数量等。是的,数据确实比示例大得多。我只是让分区保持默认状态。改变分割可以让事情变得更好吗?@Derek_M增加分区的数量会因为分区之间的混乱而导致更多的计算时间吗?有没有根据并行度(执行器等)设置分区大小的启发式方法?是的,我选择它等于500,它有那么大吗?不,那没什么,对于大型词汇表来说,这还不够,我建议不要设置它并检查日志,看看哈希表自然有多大。例如,在HashingTF之后,我最初有大约262k个条目,我将其减少到50k。