---
html:
toc: true
offline: true
export_on_save:
html: true
---
# GroupBy Operator
---
## Operator 설명
- 주어진 group 조건에 따라 records를 집계하여 DataFrame을 만드는 연산자입니다.
## Operator 파라미터 설명
- keyColName: key column으로 사용할 column 이름 (required)
- valColName: value column으로 사용할 column 이름 (required)
- groupby: 집계 방법. Enum(SUM, COUNT), (required)
## Operator 모듈 테스트 결과
### 입력 데이터
|word| count|
:--:|:--:|
| I| 1|
| am| 1|
| so| 3|
| happy| 4|
| now| 2|
| Are| 3|
| you| 2|
| happy| 6|
| now| 8|
| I| 1|
| I| 3|
| I| 5|
### 결과 데이터
|word| count|
:--:|:--:|
|you | 2 |
|now | 10 |
|Are | 3 |
|happy |10 |
|I | 10 |
| so | 3 |
|am | 1 |
- keyColName('word'),valColName('count'),groupby(SUM)으로 parameter를 설정하였고 코드는 다음과 같다.
```scala
val groupbyInfo = GroupbyInfo.newBuilder()
.setKeyColName("word")
.setValColName("count")
.setGroupby(GroupbyInfo.GroupbyOp.SUM)
.build()
```
- word와 각 word에 대한 합계를 갖고있는 count column이 존재하는 결과 DataFrame을 확인할 수 있다.