Skip to main content
이 가이드에서는 ClickHouse 기반의 빠른 in-process SQL OLAP Engine인 chDB를 사용해 Jupyter 노트북에서 ClickHouse Cloud의 데이터셋을 탐색하는 방법을 알아봅니다. 사전 요구 사항:
  • 가상 환경
  • 사용 가능한 ClickHouse Cloud 서비스와 연결 정보
아직 ClickHouse Cloud 계정이 없다면 가입하여 평가판을 시작하고 $300의 무료 크레딧을 받을 수 있습니다.
학습할 내용:
  • chDB를 사용하여 Jupyter 노트북에서 ClickHouse Cloud에 연결하기
  • 원격 데이터셋을 쿼리하고 결과를 Pandas DataFrame으로 변환하기
  • 분석을 위해 클라우드 데이터와 로컬 CSV 파일을 결합하기
  • matplotlib를 사용해 데이터를 시각화하기
이 가이드에서는 ClickHouse Cloud에서 스타터 데이터셋 중 하나로 제공되는 UK Property Price 데이터셋을 사용합니다. 이 데이터셋에는 1995년부터 2024년까지 영국에서 거래된 주택 가격 데이터가 포함되어 있습니다.

설정

이 데이터셋을 기존 ClickHouse Cloud 서비스에 추가하려면 계정 정보로 console.clickhouse.cloud에 로그인하십시오. 왼쪽 메뉴에서 데이터 소스를 클릭하십시오. 그런 다음 Predefined sample data를 클릭하십시오. 영국 부동산 실거래가 데이터(4GB) 카드에서 Get started를 선택하십시오. 그런 다음 Import dataset를 클릭하십시오. ClickHouse는 default 데이터베이스에 pp_complete 테이블을 자동으로 생성하고, 가격 포인트 데이터 2,892만 행을 테이블에 채웁니다. 자격 증명이 노출될 가능성을 줄이기 위해 로컬 머신에서 Cloud 사용자 이름과 비밀번호를 환경 변수로 추가하는 것을 권장합니다. 터미널에서 다음 명령을 실행하여 사용자 이름과 비밀번호를 환경 변수로 추가하십시오:
위의 환경 변수는 현재 터미널 세션에서만 유지됩니다. 영구적으로 설정하려면 셸 설정 파일에 추가하십시오.
이제 가상 환경을 활성화하세요. 가상 환경에서 다음 명령으로 Jupyter Notebook을 설치하세요:
다음 명령을 사용하여 Jupyter Notebook을 실행하세요:
새 브라우저 창이 열리며 localhost:8888에서 Jupyter 인터페이스가 표시됩니다. 새 노트북을 만들려면 File > New > Notebook을 클릭하세요. 커널을 선택하라는 메시지가 표시됩니다. 사용 가능한 Python 커널 중 아무 것이나 선택하면 되며, 이 예시에서는 ipykernel을 선택합니다: 빈 셀에 다음 명령을 입력하면 원격 ClickHouse Cloud 인스턴스에 연결하는 데 사용할 chDB를 설치할 수 있습니다:
이제 chDB를 import하고 간단한 쿼리를 실행해 설정이 올바른지 확인할 수 있습니다:

데이터 살펴보기

이제 UK price paid 데이터가 준비되었고 Jupyter 노트북에서 chDB도 실행 중이므로, 데이터를 살펴볼 수 있습니다. 영국의 수도인 런던처럼 특정 지역에서 시간에 따라 가격이 어떻게 변했는지 확인한다고 가정해 보겠습니다. ClickHouse의 remoteSecure 함수를 사용하면 ClickHouse Cloud에서 데이터를 쉽게 가져올 수 있습니다. chDB가 이 데이터를 프로세스 내에서 Pandas DataFrame으로 반환하도록 할 수 있으며, 이는 데이터를 다룰 때 편리하고 익숙한 방식입니다. 다음 쿼리를 작성하여 ClickHouse Cloud 서비스에서 UK price paid 데이터를 가져오고 pandas.DataFrame으로 변환하십시오:
위 스니펫에서 chdb.query(query, "DataFrame")는 지정된 쿼리를 실행하고 결과를 Pandas DataFrame으로 터미널에 출력합니다. 이 쿼리에서는 remoteSecure 함수를 사용해 ClickHouse Cloud에 연결합니다. remoteSecure 함수는 다음을 매개변수로 받습니다:
  • 연결 문자열
  • 사용할 데이터베이스와 테이블 이름
  • 사용자 이름
  • 비밀번호
보안 모범 사례에 따라 사용자 이름 및 비밀번호 매개변수는 함수에 직접 지정하기보다 환경 변수를 사용하는 것이 좋습니다. 물론 원하면 직접 지정할 수도 있습니다. remoteSecure 함수는 원격 ClickHouse Cloud 서비스에 연결해 쿼리를 실행하고 결과를 반환합니다. 데이터 크기에 따라 몇 초 정도 걸릴 수 있습니다. 이 예시에서는 연도별 평균 가격대를 반환하고, town='LONDON' 조건으로 필터링합니다. 그런 다음 결과는 df라는 변수에 DataFrame으로 저장됩니다. df.head는 반환된 데이터의 처음 몇 개 행만 표시합니다: 새 셀에서 다음 명령을 실행하여 컬럼의 타입을 확인하십시오:
date는 ClickHouse에서는 Date 유형이지만, 결과 DataFrame에서는 uint16 유형이라는 점에 유의하십시오. chDB는 DataFrame을 반환할 때 가장 적절한 유형을 자동으로 추론합니다. 이제 데이터를 익숙한 형태로 사용할 수 있으므로, 시간에 따라 런던의 부동산 가격이 어떻게 변했는지 살펴보겠습니다. 새 셀에서 다음 명령을 실행하여 matplotlib로 런던의 시점별 가격을 보여 주는 간단한 차트를 만드세요:
예상하셨겠지만, 런던의 부동산 가격은 시간이 지나면서 크게 상승했습니다. 동료 데이터 과학자가 주택 관련 추가 변수가 담긴 .csv 파일을 보내왔고, 시간이 흐르면서 런던에서 판매된 주택 수가 어떻게 변했는지 궁금해하고 있습니다. 이제 이 변수들 중 일부를 주택 가격과 함께 시각화하여 상관관계가 있는지 살펴보겠습니다. file 테이블 엔진을 사용하면 로컬 머신의 파일을 직접 읽을 수 있습니다. 새 셀에서 다음 명령을 실행하여 로컬 .csv 파일로 새 DataFrame을 만드십시오.
하나의 단계에서 여러 소스로부터 읽는 것도 가능합니다. 이를 위해 아래와 같이 JOIN을 사용하는 쿼리를 사용할 수 있습니다.
2020년 이후 데이터는 없지만, 1995년부터 2019년까지는 두 데이터셋을 서로 비교해 시각화할 수 있습니다. 새 셀에서 다음 명령을 실행하세요.
그래프로 표시된 데이터를 보면, 판매량은 1995년에 약 160,000 수준에서 시작해 빠르게 증가했으며, 1999년에는 약 540,000으로 정점을 찍었습니다. 이후 거래량은 2000년대 중반까지 급격히 감소했고, 2007-2008년 금융 위기 동안 크게 떨어져 약 140,000 수준까지 하락했습니다. 반면 가격은 1995년 약 £150,000에서 2005년경 약 £300,000까지 꾸준히 상승했습니다. 2012년 이후에는 상승세가 크게 가속화되어, 약 £400,000에서 2019년에는 £1,000,000를 넘는 수준까지 가파르게 올랐습니다. 판매량과 달리 가격은 2008년 위기의 영향을 거의 받지 않았고, 상승 추세를 유지했습니다. 놀랍습니다!

요약

이 가이드에서는 chDB가 ClickHouse Cloud를 로컬 데이터 소스와 연결해 Jupyter 노트북에서 데이터를 원활하게 탐색할 수 있도록 지원하는 방법을 설명했습니다. 영국 부동산 가격 데이터셋을 사용해 remoteSecure() 함수로 원격 ClickHouse Cloud 데이터를 쿼리하고, file() 테이블 엔진으로 로컬 CSV 파일을 읽고, 결과를 분석 및 시각화를 위해 직접 Pandas DataFrame으로 변환하는 방법을 보여주었습니다. chDB를 사용하면 데이터 과학자는 ClickHouse의 강력한 SQL 기능을 Pandas 및 matplotlib 같은 익숙한 Python 도구와 함께 활용할 수 있으므로, 여러 데이터 소스를 결합해 종합적인 분석을 손쉽게 수행할 수 있습니다. 런던에서 활동하는 많은 데이터 과학자에게 당장 내 집이나 아파트를 마련하는 일은 쉽지 않을 수 있지만, 적어도 자신을 시장 밖으로 밀어낸 그 시장을 분석할 수는 있습니다!
마지막 수정일 2026년 7월 23일