Pipeline Builder로 항공편 경고 배치 파이프라인 만들기
이 예제는 원시 항공편 경고에 상태와 우선순위의 설명 값을 결합하여 Flight Alerts data 데이터셋을 만드는 배치 파이프라인입니다. 승객 데이터 정리도 별도 경로에서 연습합니다. 결과는 Contour나 Code Workbook 같은 분석 도구에서 사용할 수 있습니다.
예제 이름의 데이터셋이 있는 프로젝트를 사용하거나 같은 열 구조의 입력을 준비합니다. 처음에는 세 입력을 추가하고, 두 번째 조인을 만들 때 우선순위 매핑 입력을 추가합니다.
| 입력 | 예제에서 사용하는 열 |
|---|---|
passengers_preprocessed | 날짜 문자열 dob, 상태 문자열 flyer_status |
flight_alerts_raw | flight_date, category, 정수 코드 status와 priority; 경고 이름과 항공편 식별 정보 등의 나머지 열도 출력에 유지합니다. |
status_mapping_raw | 정수 코드 value, 설명 문자열 mapped_value |
priority_mapping_raw | 정수 코드 value, 설명 문자열 mapped_value |
승객 정리 경로는 이 예제의 최종 경고 출력에 연결하지 않습니다. 최종 출력은 항공편 경고와 두 매핑 테이블을 결합한 결과입니다.
파이프라인 생성
- 왼쪽 탐색의
Applications에서 Pipeline Builder를 찾아 엽니다. New pipeline에서Batch pipeline을 선택하고Select batch compute는Standard로 지정합니다.- 프로젝트 안의 저장 위치를 선택합니다. 개인 폴더에는 파이프라인을 저장할 수 없습니다.
Create pipeline을 선택합니다.
스트리밍 생성 기능은 모든 Foundry 환경에 제공되는 것은 아닙니다. 이 예제는 Standard 배치를 사용합니다.
입력 데이터셋 추가
Add datasets에서 Foundry의 데이터셋을 선택합니다. 각 항목의 + 또는 Add to Selection을 사용하여 passengers_preprocessed, flight_alerts_raw, status_mapping_raw를 고른 뒤 Add datasets로 추가합니다. 로컬 파일을 그래프에 끌어다 놓아 입력으로 사용하는 방법도 있습니다.
승객 데이터 정리
날짜 열 추가
passengers_preprocessed 노드를 선택하고 Transform을 연 뒤 Cast를 검색합니다.
| 필드 | 설정 |
|---|---|
Expression | dob |
Type | Date |
Format | MM/dd/yy |
| 출력 열 | 새 열 dob_date |
Format은 입력 문자열을 해석하는 형식입니다. 날짜 값을 이 모양의 문자열로 저장하는 설정은 아닙니다. 월은 대문자 MM으로 지정합니다. Apply를 선택하여 dob_date를 추가합니다.
상태 값의 대소문자 정리
Title case를 검색하고 Expression에 flyer_status를 선택한 뒤 Apply를 누릅니다. 변환 경로 이름은 Passengers_Clean으로 정하고 Back to graph로 돌아옵니다.
항공편 경고 정리
flight_alerts_raw에서 Transform을 열고 Cast를 추가합니다. Expression은 flight_date, Type은 Date, 입력 Format은 MM/dd/yy로 설정하고 적용합니다.
이어서 Clean string을 추가하고 category를 선택합니다. 다음 세 동작을 모두 켭니다.
- 빈 문자열을 null로 바꿉니다.
- 연속된 여러 공백 문자를 하나의 공백으로 줄입니다.
- 문자열 앞과 뒤의 공백을 제거합니다.
예를 들어 delay 뒤에 여러 공백이 붙은 값은 delay로 정리됩니다. Apply를 선택하고 경로 이름을 Flight Alerts - Clean으로 바꾼 뒤 그래프로 돌아옵니다.
상태 매핑 정리
status_mapping_raw에서 Transform을 열고 Search transforms and columns...에서 mapped_value를 선택합니다. 같은 검색 필드에서 Clean string을 고르고 앞의 세 정리 동작을 모두 적용합니다.
경로 이름을 Status Mapping - Clean으로 정하고 Back to graph로 돌아옵니다.
상태 설명 결합
- 왼쪽 입력으로
Flight Alerts - Clean을 선택하고Join을 누릅니다. - 오른쪽 입력으로
Status Mapping - Clean을 선택하고Start를 누릅니다. Join type을Left join으로 설정합니다.Match condition을 왼쪽status와 오른쪽value가 같다는 조건으로 정합니다.Show advanced를 열고 오른쪽 입력의Prefix를status로 설정합니다.Apply를 누르고 아래Preview에서 결과를 확인합니다.- 이름을
Join Status로 정하고 그래프로 돌아옵니다.
오른쪽의 mapped_value와 value는 status_mapped_value, status_value로 구분됩니다. Left join은 대응하는 상태 설명이 없어도 왼쪽 경고 행을 유지합니다.
Layout으로 노드를 자동 정렬하거나 직접 끌어서 관련 노드를 가까이 배치할 수 있습니다.
우선순위 설명 결합
Add datasets로 priority_mapping_raw를 추가합니다. 왼쪽은 Join Status, 오른쪽은 priority_mapping_raw로 선택하여 두 번째 조인을 시작합니다.
| 필드 | 설정 |
|---|---|
Join type | Left join |
| 왼쪽 일치 열 | priority |
| 오른쪽 일치 열 | value |
오른쪽 Prefix | priority |
| 조인 이름 | Join (2) |
설정을 적용하고 미리보기를 확인합니다. 오른쪽 열에는 priority_value, priority_mapped_value 접두사가 적용됩니다. Back to graph로 돌아오면 두 조인이 이어진 경로를 확인할 수 있습니다.
출력 데이터셋과 빌드
오른쪽 Pipeline outputs에서 이름을 Flight Alerts data로 정하고 Add dataset output을 선택합니다. Join (2) 오른쪽의 원형 연결점을 출력에 연결합니다. Use input schema를 선택하고 이 예제에서는 모든 열을 유지합니다.
출력은 경고의 원래 열과 status_mapped_value, status_value, priority_value, priority_mapped_value를 포함합니다. 승객 정리 경로의 dob_date는 이 출력에 연결하지 않았으므로 포함되지 않습니다.
Deploy에서 Save and deploy를 선택합니다. 배포 알림의 View로 Build progress를 열고 출력 빌드가 끝나는지 확인합니다.
출력이 준비되면 Actions > Open에서 데이터셋을 열어 결과를 확인하고 분석 도구에서 사용할 수 있습니다.
다른 입력과 실행 방식으로 확장
| 만들려는 파이프라인 | 필요한 추가 구성 |
|---|---|
| SQL 저장소 배치 | 로컬 Titanic CSV, 코드 브랜치, PR 검토와 운영 빌드를 사용합니다. |
| 미디어 집합과 객체 출력 | PDF 추출 방식을 정하고 결과를 온톨로지에 매핑합니다. |
| Python 미디어 변환 | 미디어 항목을 읽고 목록화하거나 PDF 첫 페이지를 PNG로 저장합니다. |
| 증분 필터 | 추가 전용 입력과 재생 범위를 구분합니다. |
| 센서 스트리밍 | 인증한 발행 요청으로 레코드를 보내고 상시 변환을 배포합니다. |
| Faster 실행 | 개별 표현식의 지원 모드와 전체 구성의 호환성을 확인하고 실행 방식을 전환합니다. |
| 외부 엔진 실행 | 같은 소스의 가상 테이블과 외부 연산 프로필을 사용합니다. |