8. [Code Repositories] 온톨로지 데이터 파이프라인31 - 파괴적인 백킹 데이터셋 변경: 파트 1

본 번역은 검증되지 않았습니다. AIP를 통해 영문원문으로부터 번역되었습니다.

31 - 파괴적인 백킹 데이터셋 변경: 파트 1

이 내용은 learn.palantir.com ↗에서도 확인할 수 있으며, 접근성을 위해 이곳에도 제공됩니다.

📖 작업 소개

백킹 데이터셋 변경이 "파괴적"이라는 것은 이미 Phonograph 표에 등록되고 인덱싱된 열의 스키마를 변경할 때를 의미합니다. 기본적으로 Phonograph는 스키마 변경을 자동으로 수락하지 않으므로, 속성 매핑 및 Phonograph 표 등록을 업데이트하여 수동으로 처리해야 합니다. 이 작업에서는 백킹 데이터셋의 열을 삭제하거나 유형을 변경(예: double에서 integer로)하는 방법을 배웁니다. 예상치 못하게, 또는 예상대로 항공편 알림 데이터셋의 일부인 rule_name 속성이 상류 데이터 소스에서 제거되었다고 가정해 봅시다. 백킹 데이터셋에서 이 제거를 시뮬레이션한 후 다음 작업에서 발생한 실패를 처리하겠습니다.

🔨 작업 지시사항

  1. ontology_flight_alerts_logic 저장소에서 flight_alerts.py 파일을 엽니다.

  2. 반환 문을 업데이트하여 rule_name 열도 삭제하도록 합니다: return source_df.drop('rule_id', 'rule_name')

  3. 최상의 관행을 사용하여 코드를 미리보기, 커밋, 빌드합니다.

  4. 데이터셋 빌드가 완료되면 결과물 flight_alerts 데이터셋을 열고 Details 탭의 Syncs 섹션으로 이동합니다. 동기화는 아직 "실행 상태"일 수 있지만 완료되면 실패를 보고하게 됩니다.

  5. 빨간색 실패 블록에서 History 버튼을 클릭합니다. 이렇게 하면 이 동기화의 이력 목록이 순서대로 표시됩니다.

  6. 목록에서 상단의 실패한 동기화 항목을 클릭합니다. 이제 동기화 세부사항, Phonograph schema mismatch error 메시지를 포함하여 볼 수 있습니다.

  7. Details 단어 옆에 있는 >를 클릭하여 오류 메시지를 확장합니다. 오류의 마지막 줄을 주목하십시오:

    foundryColumnsInPhonographTableSchemaMissingFromFoundrySchema=[rule_name]

    등록된 Phonograph 표는 rule_name 열을 기대했지만(이전에 동기화되었기 때문에), 백킹 데이터셋에서는 찾을 수 없었습니다.

  8. OMA에서 당신의 항공편 알림 오브젝트 유형을 엽니다.

  9. 왼쪽 패널에서 Datasources 메뉴 항목을 클릭하고 Phonograph 블록까지 아래로 스크롤합니다. OMA에서 여기에서도 실패한 인덱스 상태를 볼 수 있습니다(Failed sync 링크를 클릭하면 이전에 보았던 Job Tracker 애플리케이션에서 오류로 이동하게 됩니다).