PySpark-我正在尝试将数据从json复制到rdd

时间:2018-10-12 01:25:15

标签: apache-spark pyspark

我有一个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。该模型为空字符串(第一个条目的值)生成一个向量。 (“导入操作系统”)

0 个答案:

没有答案