Aggregate Operator


Operator 설명

Operator 파라미터 설명

작동순서

  1. 입력 DataFrame의 유효성 검사를 진행한다. (AttributesList, GroupByAttributeNameList)
  2. Spark DataFrame의 groupBy로 분류 한 후 agg할 각 함수를 실행한다.
  3. 출력 DataFrame을 생성한다.

Operator 모듈 테스트 결과

입력 데이터

play outlook temperature humidity wind
no sunny 85 85 false
no sunny 80 90 true
yes overcast 83 78 false
yes rain 70 96 false
yes rain 68 80 false
no rain 65 70 true
yes overcast 64 65 true
no sunny 72 95 false
yes sunny 69 70 false
yes rain 75 80 false
yes sunny 75 70 true
yes overcast 72 90 true
yes overcast 81 75 false
no rain 71 80 true

결과 데이터

index outlook play temperature_avg humidity_sum outlook_concat temperature_count
1 overcast yes 75.0 308 overcast/overcast... 4
2 rain no 68.0 150 rain/rain 2
3 rain yes 71.0 256 rain/rain/rain 3
4 sunny no 79.0 270 sunny/sunny/sunny 3
5 sunny yes 72.0 140 sunny/sunny 2
val aggregateInfo =
  AggregateInfo.newBuilder()
    .addAttributes(
        AttributeEntry.newBuilder()
          .setAttributeName("temperature")
          .setFunctionType(FunctionType.AVERAGE)
          .build())
    .addAttributes(
        AttributeEntry.newBuilder()
          .setAttributeName("humidity")
          .setFunctionType(FunctionType.SUM)
          .build())
    .addAttributes(
        AttributeEntry.newBuilder()
          .setAttributeName("outlook")
          .setFunctionType(FunctionType.CONCATENATION)
          .build())
    .addAttributes(
        AttributeEntry.newBuilder()
          .setAttributeName("temperature")
          .setFunctionType(FunctionType.COUNT)
          .build())
    .addGroupByAttributeName("outlook")
    .addGroupByAttributeName("play")
    .build