3. [Code Repositories] 프로젝트 출력 생성4 - 간략한 코드 리뷰

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

4 - 간략한 코드 리뷰

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

flight_alerts_clean.py의 코드는 다음과 같은 작업을 수행합니다:

  1. 두 개의 전처리된 매핑 데이터셋을 가져와 임시로 그들의 컬럼 이름을 변경합니다.
  2. 전처리된 비행 경보 데이터셋을 두 개의 매핑 표와 결합하여 상태와 우선 순위 코드를 숫자에서 텍스트 스트링으로 매핑합니다.
  3. 결과물 데이터셋의 컬럼을 선택합니다.
  4. 운영 하류 워크플로에서 사용될 두 개의 빈 스트링 컬럼(assigneecomment)을 추가합니다 (예를 들어, 우리는 비행 경보를 액션을 위한 운영자에게 할당하고 댓글을 달고 싶을 수 있습니다).

PySpark 학습은 이 트랙의 범위를 벗어납니다; 코드 기반 데이터 변환을 배우기 위한 많은 온라인 자료가 있습니다. 그러나 flight_alerts_clean.py의 코드를 간략하게 검토하여 기본적인 모범 사례를 설명하고 Foundry 문서에서 사용할 수 있는 PySpark 자료로 연결해 보겠습니다. 아래 텍스트는 코드의 운영적으로 흥미로운 기능 중 일부(모든 기능이 아님)를 추출합니다.

이 작업에서 문서 링크가 제공되면, 선택하고 지정된 섹션을 읽으세요.

DataFrame

DataFrames는 이 시점에서 우리가 얕게만 다룰 수 있는 Spark 개념입니다. 간단히 말해서, DataFrame은 명명된 컬럼 아래의 행 모음입니다. 예를 들어, 코드의 14번 라인은 priority_mapping_preprocessed에서 별칭이 붙은 컬럼으로 구성된 priority_mapping이라는 DataFrame을 생성합니다. 이 DataFrame을 정의하면 변환 후에 이름으로 호출할 수 있습니다.

F.col() & .withColumn()

import 문은 pyspark.sql에서 Functions 모듈을 가져옵니다. 코드에서는 여러 곳에서 F.col을 사용하여 DataFrame의 특정 컬럼을 참조할 수 있습니다. 컬럼 참조에 대한 자세한 내용은 이 문서 페이지를 참고하세요. 그 문서에는 DataFrame에 임의의 컬럼을 추가하는 withColumn의 사용도 다루고 있습니다.

.select()

PySpark에서 select는 SQL에서의 작동 방식과 크게 동일하게 작동합니다 — 하나의 DataFrame에서 다른 DataFrame에 포함시킬 특정 컬럼을 선택합니다. 만약 DataFrame_A가 열 개의 컬럼을 가지고 있지만 나는 그 중 세 개만 필요하다면, .select()를 사용하여 DataFrame_B를 생성할 수 있습니다: DataFrame_B = DataFrame_A.select(‘col_1’, ‘col_2’, ‘col_3’)

이 문서 항목에서 언급했듯이, .select()를 사용하여 데이터셋 스키마를 지정하는 것은 가능한 한 사용해야 하는 모범 사례입니다.

.join()

PySpark에서의 join은 SQL에서의 join이 테이블을 결합하는 것과 유사한 방식으로 DataFrame을 결합합니다. PySpark join에 대한 우리의 문서를 검토하세요. 그리고 이 섹션을 읽으세요, 이는 join 동작을 효율적으로 유지하기 위한 일부 안티 패턴과 제안된 모범 사례를 강조합니다.