0
我有一個要求,在運行算法前預處理火花中的數據 其中一個預處理邏輯是從文本中刪除停用詞。我試着用Spark StopWordsRemover。 StopWordsRemover要求輸入和輸出應該是Array [String]。運行程序後,最終的列輸出顯示爲字符串集合,我會需要一個純字符串。如何在火花預處理中刪除文本中的停用詞
我的代碼如下。
val tokenizer: RegexTokenizer = new RegexTokenizer().setInputCol("raw").setOutputCol("token")
val stopWordsRemover = new StopWordsRemover().setInputCol("token").setOutputCol("final")
stopWordsRemover.setStopWords(stopWordsRemover.getStopWords ++ customizedStopWords)
val tokenized: DataFrame = tokenizer.transform(hiveDF)
val transformDF = stopWordsRemover.transform(tokenized)
實際輸出
["rt messy support need help with bill"]
所需的輸出:
rt messy support need help with bill
我的輸出應該是這樣的字符串而不是作爲字符串的數組。有沒有辦法做到這一點。我需要數據框中列的輸出作爲字符串。
此外,我需要建議以下選項從火花程序中的文本中刪除停用詞。從SparkMlib
- StopWordsRemover。
哪個選項在解析大文件時可以提供更好的性能。
任何幫助表示讚賞。
在此先感謝。