1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. R에서 sparklyr로 시작하는 Spark

Connected

Bài tập

Left join

단일 데이터 프레임을 조작하는 것뿐 아니라, sparklyr를 사용하면 두 데이터 프레임을 서로 조인할 수 있습니다. dplyr 문법으로 테이블을 조인하는 방법 전반은 Joining Data with dplyr 강의에서 다룹니다. 이 장의 나머지 부분에서는 Spark를 사용해 이를 수행하는 몇 가지 예를 살펴보겠습니다.

Left join은 첫 번째 테이블의 모든 값을 기준으로 두 번째 테이블에서 일치하는 값을 찾습니다. 일치하면 두 번째 테이블의 데이터를 추가하고, 없으면 결측값을 추가합니다. 아래 그림은 이 원리를 보여 줍니다.

A left join, explained using table of colors.

Left join은 첫 번째 테이블에 열만 추가하므로 변형 조인(mutating join)의 한 종류입니다. sparklyr에서 left join을 수행하려면 두 개의 tibble과 조인할 열 이름의 문자 벡터를 left_join()에 전달하세요.

left_join(a_tibble, another_tibble, by = c("id_col1", "id_col2"))

말로 설명할 때는 테이블 이름의 순서가 반대로 표현됩니다. 위의 조인은 "another_tibble을 a_tibble에 left join한다"라고 말합니다.

이 연습 문제에서는 각 아티스트를 설명하는 용어가 담긴 또 다른 Spark DataFrame을 소개합니다. 여기에는 "pop"처럼 일반적인 용어부터 "swiss hip hop", "mathgrindcore" 같은 특화된 장르까지 포함됩니다.

Hướng dẫn

100 XP

spark_conn이라는 Spark 연결이 이미 생성되어 있습니다. Spark에 저장된 트랙 메타데이터와 아티스트 용어에 연결된 tibble은 각각 track_metadata_tbl과 artist_terms_tbl로 미리 정의되어 있습니다.

  • artist_id 열을 기준으로 left join을 사용해 아티스트 용어를 트랙 메타데이터에 조인하세요.
    • 조인을 당하는 테이블인 track_metadata_tbl이 먼저 옵니다.
    • 첫 번째 테이블에 조인되는 테이블인 artist_terms_tbl이 다음입니다.
    • 결과를 joined에 할당하세요.
  • sdf_dim()을 사용해 조인된 테이블의 행과 열이 각각 몇 개인지 확인하세요.