표현식과 테이블 변환 선택하기
Pipeline Builder의 함수는 계산하는 범위가 다릅니다. 같은 숫자 연산이라도 한 행의 여러 값을 더하는 표현식과 여러 행을 하나로 모으는 집계는 출력 행 수와 입력 조건이 다릅니다. 먼저 계산 단위를 정한 뒤 필요한 자료형과 실행 방식을 확인합니다.
계산 단위
| 종류 | 입력과 출력의 관계 | 예시 |
|---|---|---|
| 행 수준 표현식 | 한 행의 값으로 그 행의 결과를 계산합니다. | 여러 숫자 열 더하기 |
| 집계 표현식 | 여러 행의 값을 하나의 집계 결과로 만듭니다. | 숫자 열의 합계 |
| 생성 표현식 | 한 행에서 여러 결과 값을 만듭니다. | 배열 원소마다 행으로 펼치기 |
| 테이블 변환 | 테이블 하나 또는 여러 테이블을 입력으로 받아 테이블 구조와 행을 바꿉니다. | 열 제거, 조인과 집계 |
표현식은 변환 보드 안의 필터 조건이나 새 열 계산 등에도 사용할 수 있습니다. 중첩할 때는 안쪽 결과의 자료형이 바깥 인자에 맞아야 합니다.
행 수준 계산과 집계 비교
숫자 더하기는 같은 행의 입력 열들을 합칩니다.
| col_a | col_b | 결과 |
|---|---|---|
| 0 | 1 | 1 |
| 3 | -2 | 1 |
반면 합계는 집계 대상 행들을 모아 계산합니다.
| values |
|---|
| 2 |
| 4 |
| 3 |
이 입력의 집계 결과는 9입니다. 어떤 행들을 함께 집계할지는 그룹 또는 윈도 구성이 정합니다. 집계 함수를 행 수준 덧셈과 바꾸어 사용하면 같은 의미가 되지 않습니다.
생성 표현식과 테이블 변환
배열 펼치기는 배열의 각 값을 별도 행으로 만듭니다. 하나의 입력 행이 여러 출력 행이 될 수 있으므로 다른 열 및 후속 조인의 행 수와 함께 해석합니다.
열 제거는 테이블의 열 구조를 바꿉니다. 예를 들어 airline, miles, airports 열이 있는 다음 행에서 miles를 제거할 수 있습니다.
| airline | miles | airports |
|---|---|---|
| foundry airways | 3000 | [JFK, SFO] |
결과 테이블은 다음과 같습니다.
| airline | airports |
|---|---|
| foundry airways | [JFK, SFO] |
이 경우 행을 여러 개로 늘리는 것이 아니라 열 하나를 제거합니다.
개별 계약 확인
| 확인할 항목 | 판단할 내용 |
|---|---|
| 실행 방식 | Batch, Faster와 Streaming 가운데 실제로 지원하는 방식인지 확인합니다. 같은 범주의 함수도 지원 범위가 다를 수 있습니다. |
| 입력 인자 | 필수 및 선택 여부, 열 참조와 상수의 구분, 목록이나 집합의 자료형을 확인합니다. |
| 반환 자료형 | 값 하나, 배열, 구조체 또는 테이블인지 확인합니다. |
| 자료형 변수 제약 | Numeric 또는 ComparableType처럼 허용하는 유형 범위가 있는지 확인합니다. |
| null과 오류 | null을 전파하거나 제외하는지, 오류를 발생시키는지와 선택한 오류 처리 모드를 확인합니다. |
| 예제의 입력과 결과 | 인덱스의 시작값, 경계 포함 여부와 중복 처리처럼 이름만으로 알기 어려운 동작을 확인합니다. |
전체 개별 함수의 조건과 예제는 표현식 참조와 테이블 변환 참조에서 찾을 수 있습니다. 값 계산, 배열 및 구조체, 문자열, 날짜, 미디어와 지리 공간 기능을 실제 실행 모드에 맞춰 선택합니다.