시작하기무료로 시작하기

열 선택하기

SQL의 SELECT에 해당하는 Spark 메서드는 .select()입니다. 이 메서드는 선택하려는 각 열마다 하나씩, 여러 개의 인자를 받습니다. 인자는 문자열 형태의 열 이름(열마다 하나씩)이나 df.colName 구문을 사용한 열 객체가 될 수 있습니다. 열 객체를 전달하면 .withColumn() 안에서처럼 해당 열에 덧셈이나 뺄셈 같은 연산을 수행해 그 안의 데이터를 변환할 수 있습니다.

.select().withColumn()의 차이는, .select()는 지정한 열만 반환하는 반면, .withColumn()은 사용자가 정의한 열에 더해 DataFrame의 모든 열을 함께 반환한다는 점입니다. 데이터 전처리를 할 때는 초반에 필요 없는 열을 제거해 불필요한 데이터를 계속 끌고 다니지 않는 것이 좋습니다. 이런 경우에는 .withColumn()이 아니라 .select()를 사용합니다.

작업 공간에는 이미 spark라는 SparkSession과 Spark DataFrame flights가 준비되어 있습니다.

이 연습은 강의의 일부입니다

PySpark 기초

강의 보기

연습 안내

  • 문자열로 열 이름을 전달해 flights에서 "tailnum", "origin", "dest" 열을 선택하세요. 결과를 selected1에 저장하세요.
  • df.colName 구문을 사용해 "origin", "dest", "carrier" 열을 선택한 다음, 미리 정의된 두 필터(filterAfilterB)를 모두 적용해 SEA에서 PDX로 가는 항공편만 남기세요. 결과를 selected2에 저장하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Select the first set of columns
selected1 = flights.select("____", "____", "____")

# Select the second set of columns
temp = flights.select(____.____, ____.____, ____.____)

# Define first filter
filterA = flights.origin == "SEA"

# Define second filter
filterB = flights.dest == "PDX"

# Filter the data, first by filterA then by filterB
selected2 = temp.filter(____).filter(____)
코드 편집 및 실행