더 다양한 ID 처리 요령
한 번 Spark 처리를 정의해 두면 여러 번 재사용하게 될 가능성이 큽니다. 필요에 따라 이전에 실행한 Spark 작업과 ID가 겹치지 않도록 특정 값에서부터 ID를 시작하고 싶을 수 있어요. 이 동작은 관계형 데이터베이스에서 ID가 동작하는 방식과 비슷합니다. 이번 과제는 매월 실행되는 Spark 작업에서, 이전 달의 최고값 다음부터 ID가 시작되도록 보장하는 것입니다.
spark 세션과 두 개의 DataFrame voter_df_march, voter_df_april이 작업 공간에 준비되어 있습니다. pyspark.sql.functions 라이브러리는 별칭 F로 사용할 수 있어요.
이 연습은 강의의 일부입니다
PySpark로 데이터 정제하기
연습 안내
voter_df_march에서 가장 높은ROW_ID를 구해 변수previous_max_ID에 저장하세요..rdd.max()[0]구문을 사용하면 최대 ID를 얻을 수 있어요.voter_df_april에ROW_ID열을 추가하고 시작값을previous_max_ID+ 1로 설정하세요.- 두 DataFrame에서
ROW_ID를 출력해 비교하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Determine the highest ROW_ID and save it in previous_max_ID
____ = ____.select('ROW_ID').rdd.max()[0] + 1
# Add a ROW_ID column to voter_df_april starting at the desired value
voter_df_april = ____.withColumn('ROW_ID', ____ + ____)
# Show the ROW_ID from both DataFrames and compare
____.select('ROW_ID').show()
____