구조체 펼치기
| 항목 | 값 |
|---|---|
| 화면 이름 | Flatten struct |
| 식별자 | flattenStructV2 |
| 지원 실행 방식 | Batch, Faster, Streaming |
| 범주 | 구조체 (Struct) |
구조체의 모든 필드를 출력 데이터셋의 열로 펼칩니다.
입력 인자
| 이름 | 지정 여부 | 자료형 | 의미와 조건 |
|---|---|---|---|
Dataset | 필수 | Table | 구조체 열이 있는 데이터셋입니다. |
Expression | 필수 | Expression<Struct> | 펼칠 구조체 열을 계산하는 표현식입니다. |
Max depth | 필수 | Literal<Integer> | 중첩 구조체를 펼칠 깊이입니다. |
Column prefix | 선택 | Literal<String> | 펼쳐서 만든 모든 열에 붙일 접두사입니다. |
Separator | 선택 | Literal<String> | 중첩 구조체에서 온 필드 이름 사이를 구분할 값입니다. |
입출력 예시
예시 1: 기본 동작
인자 값:
Dataset: ri.foundry.main.dataset.aExpression:rawMax depth: 2Column prefix: new_Separator: null
입력:
| raw |
|---|
| { airline: { id: NA, name: new air, }, tail_no: NA-123, } |
| { airline: { id: FA, name: foundry airways, }, tail_no: FA-123, } |
출력:
| new_airline_name | new_airline_id | new_tail_no | raw |
|---|---|---|---|
| new air | NA | NA-123 | { airline: { id: NA, name: new air, }, tail_no: NA-123, } |
| foundry airways | FA | FA-123 | { airline: { id: FA, name: foundry airways, }, tail_no: FA-123, } |
예시 2: 기본 동작
인자 값:
Dataset: ri.foundry.main.dataset.aExpression:rawMax depth: 2Column prefix: new_Separator: SEPARATOR
입력:
| raw |
|---|
| { airline: { id: NA, name: new air, }, tail_no: NA-123, } |
| { airline: { id: FA, name: foundry airways, }, tail_no: FA-123, } |
출력:
| new_airline_SEPARATOR_name | new_airline_SEPARATOR_id | new_tail_no | raw |
|---|---|---|---|
| new air | NA | NA-123 | { airline: { id: NA, name: new air, }, tail_no: NA-123, } |
| foundry airways | FA | FA-123 | { airline: { id: FA, name: foundry airways, }, tail_no: FA-123, } |
예시 3: null 처리
인자 값:
Dataset: ri.foundry.main.dataset.aExpression:rawMax depth: 2Column prefix: new_Separator: null
입력:
| raw |
|---|
| null |
| { airline: null, tail_no: NA-123, } |
| { airline: { id: FA, name: null, }, tail_no: FA-123, } |
출력:
| new_airline_name | new_airline_id | new_tail_no | raw |
|---|---|---|---|
| null | null | null | null |
| null | null | NA-123 | { airline: null, tail_no: NA-123, } |
| null | FA | FA-123 | { airline: { id: FA, name: null, }, tail_no: FA-123, } |