1
我使用下面的代碼使用的Spark與Python計算TFIDF:鏈接結果TFIDF稀疏矢量原始憑證在星火
hashingTF = HashingTF()
tf = hashingTF.transform(documents)
idf = IDF().fit(tf)
tfidf = idf.transform(tf)
for k in tfidf.collect():
print(k)
我得到了三個文件,結果如下:
(1048576,[558379],[1.43841036226])
(1048576,[181911,558379,959994], [0.287682072452,0.287682072452,0.287682072452])
(1048576,[181911,959994],[0.287682072452,0.287682072452])
假設我有成千上萬的文檔,知道如何將生成的TFIDF稀疏向量鏈接到原始文檔,因爲我知道我不關心將哈希鍵逆轉爲原始項。
我可以控制分區數量,但是如何控制每個分區的元素數量? –
你不能。那麼...你可以應用不同的低級轉換,但是沒有辦法直接做。這就是爲什麼'zip'只適用於像這樣的一些有限情況。否則,您需要唯一的標識符並加入。 – zero323
啊,標識符和加入,對我來說是非常好的一點,我對我的文檔有一個標識符。但是我如何執行上面的代碼將它包含在tfidf RDD中? –