이 내용은 learn.palantir.com ↗에서도 확인할 수 있으며 접근성을 위해 여기에 제공됩니다.
transform()
데코레이터를 사용하여 여러 개의 결과물을 지정할 수도 있습니다. 이 작업에서는 flyer_status
가 Platinum
인 승객만 필터링하고 각 우선 순위(높음, 중간, 낮음)에 대한 항공편 경보 별도의 데이터셋을 생성하는 다중 결과물 변환을 만들 것입니다.
이 방법은 생성된 변환의 for 루프에서 보았던 것처럼 전체 입력을 매번 모든 로직을 실행하지 않습니다. Platinum
승객을 한 번만 필터링한 후, 필터링된 데이터프레임을 공유하여 여러 출력 데이터셋을 생성할 수 있습니다.
Master
에서 yourName/기능/multi_output
이라는 새 브랜치를 만듭니다.
리포지토리 파일에서 /결과물
폴더에 오른쪽 클릭하여 flight_alerts_by_priority.py
라는 새 파일을 추가합니다.
새 파이썬 변환 파일의 기본 코드를 아래 코드 블록으로 교체합니다.
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'))
코드에서 다음 줄을 교체합니다.
${space}
를 당신의 space로${yourName}
을 당신의 /Tutorial Practice Artifacts
폴더 이름으로${flight_alerts_joined_passengers_RID}
를 flight_alerts_joined_passengers.py
에서 변환된 결과물의 RID로 교체합니다.미리보기 버튼을 클릭합니다. 미리보기 창에 각 결과물(높음, 중간, 낮음)에 대한 탭이 세 개 표시됩니다.
결과가 예상대로(Platinum
및 지정된 priority
로 필터링된 경우) 표시되면, 브랜치에서 코드를 커밋하고 빌드합니다.
빌드가 성공적인 경우(즉, 데이터셋이 예상대로 구체화된 경우), 입력/출력 경로를 RID로 업데이트하고 커밋을 고려하세요. 이렇게 하려면 "RID로 경로 바꾸기" 링크가 나타나도록 브라우저를 새로 고침해야 할 수도 있습니다.
PR 과정을 완료하고 브랜치를 Master
로 병합합니다(병합 후 브랜치를 삭제해도 됩니다).
Master
브랜치에서 코드를 빌드합니다.
파이썬 변환 문서의 이 섹션에서 다중 출력 변환에 대해 조금 더 읽어보세요.