word2vec은 mllib를 쓰느냐 ml을 쓰느냐 패키지에 따라 사용법이 다르다. ml을 써서 데이터프레임을 이용하니 영 찐따 같아서 mllib로 갔다가 다시 ml로 돌아왔다. 결과물인 model을 어떻게 다뤄야 할지 type이 영 헛갈린다.
데이터 프레임으로 다룰 경우 결과 model은 다음과 같이 다룬다.
첫째 : 원본 데이터는 변하지 않는다.
둘째 : transform으로 인풋->결과를 얻을 수 있으나 로컬로만 동작한다.
셋째 : model.getVectors().rdd.map(lambda line: (line[0], line[1])) 을 통해서 rdd화 한 객체를 다루는 것이 편하다.