5C. [Code Repositories] 데이터 변환을 통한 다중 출력5 - 다중 결과물 변환

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

5 - 다중 결과물 변환

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

📖 작업 소개

transform() 데코레이터를 사용하여 여러 개의 결과물을 지정할 수도 있습니다. 이 작업에서는 flyer_statusPlatinum인 승객만 필터링하고 각 우선 순위(높음, 중간, 낮음)에 대한 항공편 경보 별도의 데이터셋을 생성하는 다중 결과물 변환을 만들 것입니다.

이 방법은 생성된 변환for 루프에서 보았던 것처럼 전체 입력을 매번 모든 로직을 실행하지 않습니다. Platinum 승객을 한 번만 필터링한 후, 필터링된 데이터프레임을 공유하여 여러 출력 데이터셋을 생성할 수 있습니다.

🔨 작업 지시사항

  1. Master에서 yourName/기능/multi_output이라는 새 브랜치를 만듭니다.

  2. 리포지토리 파일에서 /결과물 폴더에 오른쪽 클릭하여 flight_alerts_by_priority.py라는 새 파일을 추가합니다.

  3. 새 파이썬 변환 파일의 기본 코드를 아래 코드 블록으로 교체합니다.

    from transforms.api import transform, Input, Output
    
    
    # 입력을 분할하기 위해 transform() 데코레이터에 여러 Output 명세를 전달합니다.
    @transform(
        source_df=Input("${flight_alerts_joined_passengers_RID}"),
        high=Output("/${space}/Temporary Training Artifacts/${yourName}/Data Engineering Tutorials/Transform Project: Alert Metrics/data/output/flight_alerts_platinum_high"),
        medium=Output("/${space}/Temporary Training Artifacts/${yourName}/Data Engineering Tutorials/Transform Project: Alert Metrics/data/output/flight_alerts_platinum_medium"),
        low=Output("/${space}/Temporary Training Artifacts/${yourName}/Data Engineering Tutorials/Transform Project: Alert Metrics/data/output/flight_alerts_platinum_low"),
    )
    def alerts_by_priority(source_df, high, medium, low):
    
        # 승객 상태가 "Platinum"인 레코드만 필터링하는 소스 데이터프레임
        platinum_df = source_df.dataframe().filter(source_df.dataframe().flyer_status == 'Platinum')
    
        # 각 필터링된 우선 순위에 대한 데이터셋을 작성하려면 각 출력에 write_dataframe() 함수를 호출합니다.
        high.write_dataframe(platinum_df.filter(platinum_df.priority == 'High'))
        medium.write_dataframe(platinum_df.filter(platinum_df.priority == 'Medium'))
        low.write_dataframe(platinum_df.filter(platinum_df.priority == 'Low'))
    
  4. 코드에서 다음 줄을 교체합니다.

    • ${space}당신의 space
    • ${yourName}당신의 /Tutorial Practice Artifacts 폴더 이름으로
    • ${flight_alerts_joined_passengers_RID}flight_alerts_joined_passengers.py에서 변환된 결과물의 RID로 교체합니다.
  5. 미리보기 버튼을 클릭합니다. 미리보기 창에 각 결과물(높음, 중간, 낮음)에 대한 탭이 세 개 표시됩니다.

  6. 결과가 예상대로(Platinum 및 지정된 priority로 필터링된 경우) 표시되면, 브랜치에서 코드를 커밋하고 빌드합니다.

  7. 빌드가 성공적인 경우(즉, 데이터셋이 예상대로 구체화된 경우), 입력/출력 경로를 RID로 업데이트하고 커밋을 고려하세요. 이렇게 하려면 "RID로 경로 바꾸기" 링크가 나타나도록 브라우저를 새로 고침해야 할 수도 있습니다.

  8. PR 과정을 완료하고 브랜치를 Master로 병합합니다(병합 후 브랜치를 삭제해도 됩니다).

  9. Master 브랜치에서 코드를 빌드합니다.

📚 추천 읽기(~1분 소요)

파이썬 변환 문서의 이 섹션에서 다중 출력 변환에 대해 조금 더 읽어보세요.