이 내용은 learn.palantir.com ↗에서도 확인할 수 있으며 접근성을 위해 여기에 제시되었습니다.
flight_alerts_clean.py
의 코드는 다음과 같은 작업을 수행합니다:
assignee
와 comment
)을 추가합니다 (예를 들어, 우리는 비행 경보를 액션을 위한 운영자에게 할당하고 댓글을 달고 싶을 수 있습니다).PySpark 학습은 이 트랙의 범위를 벗어납니다; 코드 기반 데이터 변환을 배우기 위한 많은 온라인 자료가 있습니다. 그러나 flight_alerts_clean.py
의 코드를 간략하게 검토하여 기본적인 모범 사례를 설명하고 Foundry 문서에서 사용할 수 있는 PySpark 자료로 연결해 보겠습니다. 아래 텍스트는 코드의 운영적으로 흥미로운 기능 중 일부(모든 기능이 아님)를 추출합니다.
이 작업에서 문서 링크가 제공되면, 선택하고 지정된 섹션을 읽으세요.
DataFrames는 이 시점에서 우리가 얕게만 다룰 수 있는 Spark 개념입니다. 간단히 말해서, DataFrame은 명명된 컬럼 아래의 행 모음입니다. 예를 들어, 코드의 14번 라인은 priority_mapping_preprocessed
에서 별칭이 붙은 컬럼으로 구성된 priority_mapping
이라는 DataFrame을 생성합니다. 이 DataFrame을 정의하면 변환 후에 이름으로 호출할 수 있습니다.
import 문은 pyspark.sql에서 Functions
모듈을 가져옵니다. 코드에서는 여러 곳에서 F.col
을 사용하여 DataFrame의 특정 컬럼을 참조할 수 있습니다. 컬럼 참조에 대한 자세한 내용은 이 문서 페이지를 참고하세요. 그 문서에는 DataFrame에 임의의 컬럼을 추가하는 withColumn
의 사용도 다루고 있습니다.
PySpark에서 select
는 SQL에서의 작동 방식과 크게 동일하게 작동합니다 — 하나의 DataFrame에서 다른 DataFrame에 포함시킬 특정 컬럼을 선택합니다. 만약 DataFrame_A
가 열 개의 컬럼을 가지고 있지만 나는 그 중 세 개만 필요하다면, .select()
를 사용하여 DataFrame_B
를 생성할 수 있습니다:
DataFrame_B = DataFrame_A.select(‘col_1’, ‘col_2’, ‘col_3’)
이 문서 항목에서 언급했듯이, .select()
를 사용하여 데이터셋 스키마를 지정하는 것은 가능한 한 사용해야 하는 모범 사례입니다.
PySpark에서의 join은 SQL에서의 join이 테이블을 결합하는 것과 유사한 방식으로 DataFrame을 결합합니다. PySpark join에 대한 우리의 문서를 검토하세요. 그리고 이 섹션을 읽으세요, 이는 join 동작을 효율적으로 유지하기 위한 일부 안티 패턴과 제안된 모범 사례를 강조합니다.