Airbyte의 ClickHouse source와 destination은 현재 Alpha 상태이므로, 대규모 데이터셋(1천만 행 초과) 이동에는 적합하지 않습니다.
1
Airbyte 다운로드 및 실행
-
Airbyte는 Docker에서 실행되며
docker-compose를 사용합니다. 최신 버전의 Docker를 다운로드하여 설치했는지 확인하세요. -
공식 GitHub 리포지토리를 복제한 다음, 터미널에서
docker-compose up을 실행하여 Airbyte를 배포하세요. - 터미널에 Airbyte 배너가 표시되면 localhost:8000에 접속할 수 있습니다.
또는 Airbyte Cloud에 가입하여 사용할 수 있습니다.
2
ClickHouse를 대상으로 추가하기
이 섹션에서는 ClickHouse 인스턴스를 대상으로 추가하는 방법을 안내합니다.-
ClickHouse 서버를 시작하거나(Airbyte는 ClickHouse 버전
21.8.10.19이상과 호환됩니다) ClickHouse Cloud 계정에 로그인합니다: - Airbyte에서 “Destinations” 페이지를 선택한 다음 새 대상을 추가합니다:
-
“Destination type” 드롭다운 목록에서 ClickHouse를 선택한 다음, ClickHouse 호스트명과 포트, 데이터베이스 이름, 사용자 이름, 비밀번호를 입력하고 SSL connection 사용 여부를 선택하여 “Set up the destination” 양식을 작성합니다(
clickhouse-client의--secure플래그와 동일): - 완료되었습니다! 이제 Airbyte에 ClickHouse를 대상으로 추가했습니다.
ClickHouse를 대상으로 사용하려면 해당 사용자가 데이터베이스와 테이블을 생성하고 행을 삽입할 수 있는 권한을 가지고 있어야 합니다. Airbyte 전용 사용자(예:
my_airbyte_user)를 만들고 다음 권한을 부여하는 것을 권장합니다:3
데이터셋을 소스로 추가
이 튜토리얼에서 사용할 예시 데이터셋은 New York City Taxi Data(Github에서 제공)입니다. 이 튜토리얼에서는 이 데이터셋 중 2022년 1월에 해당하는 일부만 사용합니다.- Airbyte에서 “Sources” 페이지를 선택한 다음, file 유형의 새 소스를 추가합니다.
-
소스 이름을 지정하고 NYC Taxi 2022년 1월 파일의 URL(아래 참조)을 입력하여 “Set up the source” 양식을 작성합니다. 파일 포맷은
parquet, Storage Provider는HTTPS Public Web, Dataset Name은nyc_taxi_2022로 선택하십시오. - 완료되었습니다. 이제 Airbyte에 소스 파일이 추가되었습니다.
4
ClickHouse에 연결을 생성하고 데이터셋 불러오기
- Airbyte에서 “Connections” 페이지를 선택하고 새 연결을 추가하세요
- “기존 소스 사용”을 선택한 다음 New York City Taxi Data를 선택하고, 이어서 “기존 대상 사용”을 선택한 후 ClickHouse 인스턴스를 선택합니다.
-
복제 빈도(이 튜토리얼에서는
manual을 사용합니다)를 선택하고, 동기화할 스트림으로nyc_taxi_2022를 선택하여 “연결 설정” 양식을 작성하십시오. 정규화 옵션으로 Normalized Tabular Data를 선택했는지 확인하십시오.
- 이제 연결이 생성되었으므로 데이터 로딩을 실행하려면 “Sync now”를 클릭하십시오(
Replication Frequency로Manual을 선택했기 때문입니다)
- 데이터 로딩이 시작되면 보기를 펼쳐 Airbyte 로그와 진행 상황을 확인할 수 있습니다. 작업이 완료되면 로그에
Completed successfully메시지가 표시됩니다:
-
사용하는 SQL Client로 ClickHouse 인스턴스에 연결하고 생성된 테이블을 확인하십시오:
응답은 다음과 같아야 합니다:응답은 다음과 같습니다.
-
Airbyte가 데이터 타입을 자동으로 추론하고 대상 테이블에 4개의 컬럼을 추가했다는 점에 유의하십시오. 이러한 컬럼은 Airbyte가 복제 로직을 관리하고 작업 내역을 기록하는 데 사용됩니다. 자세한 내용은 Airbyte 공식 문서에서 확인할 수 있습니다.
이제 데이터셋이 ClickHouse 인스턴스에 로드되었으므로 새 테이블을 생성하고, 더 적합한 ClickHouse 데이터 타입을 사용할 수 있습니다(자세히 보기).
- 축하합니다 - Airbyte를 사용해 NYC 택시 데이터를 ClickHouse에 성공적으로 적재했습니다!