시작하기무료로 시작하기

문서 데이터 다루기

이 장에서 여러분은 Postgres에서 반정형 문서 데이터를 다루는 여러 도구를 살펴봤어요. 이번 마지막 연습 문제에서는 이 모든 도구를 활용해 분석에 바로 쓸 수 있는 데이터셋을 만들어 볼 거예요. 여러분은 아래와 같은 형태의 nested_reviews 테이블을 사용하게 됩니다.

nested_reviews table, showing sample data.

시작을 돕기 위해 pandaspd로 임포트되어 있고, 연결 객체는 db_engine 변수에 생성되어 저장해 두었어요. 행운을 빌어요!

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

NoSQL 입문

강의 보기

연습 안내

  • review 열의 location 객체에서 중첩된 branch 필드를 JSON으로 반환하려면 #> 연산자를 사용하세요. 별칭은 branch로 하세요.
  • ->> 연산자를 사용해 review 열의 statement 필드를 조회하고, 결과에 statement라는 별칭을 지정하세요.
  • json_extract_path_text 함수를 사용해 reviewer의 위치가 'Australia'인 레코드만 포함하도록 결과를 필터링하세요.

실습형 인터랙티브 연습

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

# Extract fields from JSON, and filter by reviewer location
query = """
    SELECT
    	review_id,
        ____ #> '{____, ____}' AS ____,
        ____ ->> '____' AS ____,
        rating
    FROM nested_reviews
    WHERE ____(____, '____', '____') = 'Australia'
    ORDER BY rating DESC;
"""

data = pd.read_sql(query, db_engine)
print(data)
코드 편집 및 실행