На основе документации Spark для версии 1.4 (https://spark.apache.org/docs/1.4.0/mllib-feature-extraction.html) Я пишу пример TF-IDF для преобразования текстовых документов в векторы значений. В приведенном примере показано, как это можно сделать, но входными данными являются RDD токенов без ключей. Это означает, что мой выходной RDD больше не содержит индекса или ключа для ссылки на исходный документ. Пример такой:
documents = sc.textFile("...").map(lambda line: line.split(" "))
hashingTF = HashingTF()
tf = hashingTF.transform(documents)
Я хотел бы сделать что-то вроде этого:
documents = sc.textFile("...").map(lambda line: (UNIQUE_LINE_KEY, line.split(" ")))
hashingTF = HashingTF()
tf = hashingTF.transform(documents)
и пусть результирующая переменная tf
содержит где-то значение UNIQUE_LINE_KEY
. Я просто пропустил что-то очевидное? Из примеров видно, что нет хорошего способа связать document
RDD с tf
RDD.