사전 요구 사항
이 튜토리얼을 진행하려면 다음이 필요합니다.- ClickHouse Cloud 계정 (가입 시 $300 상당의 무료 크레딧 제공)
- ClickHouse Cloud 서비스
테이블을 생성하세요
- 왼쪽 메뉴에서 SQL 콘솔을 선택하세요
- 홈 아이콘 옆의 + 탭을 클릭하여 새 쿼리를 생성하세요
- SQL 편집기에 다음 쿼리를 입력한 후 Run을 클릭하세요:
데이터를 전처리하고 삽입하세요
url 함수를 사용하여 데이터를 ClickHouse로 스트리밍할 수 있습니다. 단, 먼저 몇 가지 전처리가 필요합니다.
아래 쿼리는 2,500만 개 이상의 행을 uk_price_paid 테이블에 삽입하면서 다음 전처리 단계를 수행합니다.postcode를postcode1과postcode2라는 두 개의 컬럼으로 분할합니다. 이렇게 하면 저장소 및 쿼리 측면에서 더 효율적입니다.time필드는00:00시각만 포함하므로 날짜로 변환합니다.- UUID 필드는 분석에 필요하지 않으므로 무시합니다.
- transform 함수를 사용하여
type과duration을 더 읽기 쉬운Enum필드로 변환합니다. is_new필드를 단일 문자 문자열(Y/N)에서 0 또는 1 값을 갖는 UInt8 필드로 변환합니다.- 마지막 두 컬럼은 모든 값이 동일(0)하므로 삭제합니다.
데이터를 검사하세요
삽입된 행 수를 조회하여 정상적으로 처리되었는지 확인해 보겠습니다:이 쿼리를 실행한 시점에 데이터셋에는 27,450,499개의 행이 있었습니다. ClickHouse에서 이 테이블의 저장소 크기가 얼마인지 확인해 보겠습니다:테이블 크기는 221.43 MiB에 불과하지만, 원본 데이터셋은 압축되지 않은 상태로 약 4 GiB라는 점을 확인할 수 있습니다.
ClickHouse는 별도 설정 없이도 뛰어난 데이터 압축 성능을 제공하며, 필요한 경우 컬럼별로 압축을 세부 조정할 수도 있습니다.