We-Co

[We-Co] Spark Tokenizer - 문자열나누기 본문

Spark

[We-Co] Spark Tokenizer - 문자열나누기

위기의코딩맨 2021. 9. 29. 11:29
반응형

안녕하세요. 위기의코딩맨입니다.

오늘은 Tokenizer에 대해 간단하게 알아보도록 하겠습니다.

 

[ Tokenizer ]

공백 문자를 기준으로하여 입력된 input 문자열을 개별 단어로 나누어 배열로 변환하고 

배열을 새로운 컬럼으로 생성하는 트랜스포머입니다.

예제를 통해 알아보도록 하겠습니다.

 

import org.apache.spark.ml.feature.Tokenizer
import org.apache.spark.sql.SparkSession


Logger.getLogger("org").setLevel(Level.OFF)
Logger.getLogger("akka").setLevel(Level.OFF)


val spark = SparkSession.builder().appName("Tokenizer").master("local[*]").getOrCreate()
val data = Seq("안녕하세요 저는 위기의코딩맨 입니다","배가 너무 고파요").map(Tuple1(_))
val inputDF = spark.createDataFrame(data).toDF("input")
val tokenizer_ = new Tokenizer().setInputCol("input").setOutputCol("Output")

val outputDF = tokenizer_.transform(inputDF) 
outputDF.show(false)

 

+-----------------------------------------+---------------------------------------------+
|input                                           |Output                                             |
+-----------------------------------------+---------------------------------------------+
|안녕하세요 저는 위기의코딩맨 입니다 |  [안녕하세요, 저는, 위기의코딩맨, 입니다]|
|배가 너무 고파요                            |  [배가, 너무, 고파요]                           |
+-----------------------------------------+----------------------------------------------+

 

 

예제를 사용하기 위한 라이브러리를 가져오고, spark를 선언해주고

data를 2개의 문자열을 넣어주도록 합니다.

inputDF를 data를 기반으로 생성해주고

Tokenizer()을 사용하여 문자열들을 공백문자 기준으로 나누어 Output의 컬럼으로 생성해서 나타나도록 진행했습니다.

 

 

오늘은 간단하게 Tokenizer()의 사용법을 예제를 통해서 알아보았습니다.

공백 기준이아닌 정규식을 사용하려면 RegexTokenizer()을 사용하시면 됩니다.

반응형