我有一个git blame信息的json。我正在尝试将代码行加载到rdd并通过word2vec运行它。我正在尝试更新此Python2代码:
https://github.com/Lab41/hermes/blob/master/src/data_prep/model/Python2Vec--Save%20Model.ipynb
这是我想出的,但是由于某些原因,当我有1000行文本时,rdd单词的大小仅为1。
sc = SparkContext()
sqlCtx = SQLContext(sc)
code_lines = sqlCtx.read.option("multiLine", True).option("mode", "PERMISSIVE").json("jsons\hi4.json")
code_lines = code_lines.repartition(300)
words = code_lines\
.rdd.map(
lambda line: line[11].split(" ")
)\
.map(lambda line: [f.lower() for f in line])\
.filter(lambda line: line != [])
word2vec = Word2Vec()
word2vec.setMinCount(1)
word2vec.setVectorSize(50)
model = word2vec.fit(words)
这是json文件的第一行,这种格式大约有100,000行。
{"repo_name": "matplotlib", "commit_id": "b'58db731ed75dd25d132a07f4d4a3524eb41d200f", "author": "None", "author_mail": "None", "author_time": "None", "author_timezone": "None", "committer": "None", "committer_mail": "None", "committer_time": "None", "committer_timezone": "None", "comment": "None", "filename": "setup.py", "line_num": "1", "line": "import os"}
当我打印count()时,得到的RDD大小仅为1。该模型为空字符串(第一个条目的值)生成一个向量。 (“导入操作系统”)