对于大数据集的文本数据,使用spark运行word2vec时对spark的设置:
首先word2vec暂时就不介绍了,在上代码之前我先简要介绍下我的数据,我使用的是新闻文本数据,分词之后初步统计大概有674608个词。(ps 我也不知道这数据量能不能算得上大数据),然后简单的调用spark中的word2vec程序,并且将运行的模型保存下来。
我的spark设置大致如下
上面是最基本的配置,在这个配置下,我的数据大概会运行2.5h左右。其中word2vec部分参数为verctorsize = 100, mincount = 2.
运行过程中出现的第一个问题:
查看spark的帮助文档发现,spark默认的framesize仅为10M,而我的程序中的某个task需要接近250M容量,因此在shell加了一行设置framesize的大小:
重新运行之后问题解决并且能够训练出模型。
下面一步是准备将mincount调整为更大的数,估计还会出现一些问题,等程序运行完了在总结吧。