알고리즘을 실행하기 전에 스파크의 데이터를 사전 처리해야합니다. 사전 처리 논리 중 하나는 텍스트에서 중지 단어를 제거하는 것이 었습니다. 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.
거대한 파일을 구문 분석 할 때 성능을 향상시키는 옵션은 무엇입니까?
도움을 주시면 감사하겠습니다.
미리 감사드립니다.