Airbyte를 ClickHouse에 연결하기
현재 ClickHouse용 Airbyte 소스와 대상은 알파(Alpha) 단계이며, 1,000만 행(> 10 million rows) 이상의 대규모 데이터셋을 이동하는 데에는 적합하지 않습니다.
Airbyte는 오픈 소스 데이터 통합 플랫폼입니다. ELT 데이터 파이프라인을 생성할 수 있으며, 140개가 넘는 기본 제공 커넥터와 함께 제공됩니다. 이 단계별 튜토리얼에서는 Airbyte를 ClickHouse의 대상(destination)으로 연결하고 샘플 데이터셋을 적재하는 방법을 설명합니다.
Airbyte 다운로드 및 실행
-
Airbyte는 Docker에서 실행되며
docker-compose를 사용합니다. 최신 버전의 Docker가 다운로드되어 설치되어 있는지 확인하십시오. -
공식 GitHub 리포지토리를 클론한 다음, 선호하는 터미널에서
docker-compose up명령을 실행하여 Airbyte를 배포합니다. -
터미널에 Airbyte 배너가 보이면 localhost:8000에 접속할 수 있습니다.
참고또는 가입한 후 Airbyte Cloud를 사용할 수도 있습니다.
ClickHouse를 대상으로 추가
이 섹션에서는 ClickHouse 인스턴스를 대상으로 추가하는 방법을 설명합니다.
-
ClickHouse 서버를 시작하거나 (Airbyte는 ClickHouse 버전
21.8.10.19이상과 호환됩니다) ClickHouse Cloud 계정에 로그인하십시오. -
Airbyte에서 「Destinations」 페이지로 이동하여 새 대상(Destination)을 추가합니다:

-
"Destination type" 드롭다운 목록에서 ClickHouse를 선택한 후 ClickHouse 호스트 이름과 포트, 데이터베이스 이름, 사용자 이름과 비밀번호를 입력하고 SSL 연결 여부를 선택하여 "Set up the destination" 양식을 작성합니다(이는
clickhouse-client에서--secure플래그를 사용하는 것과 같습니다):
-
축하합니다! 이제 Airbyte에 ClickHouse를 대상으로 추가했습니다.
ClickHouse를 대상(destination)으로 사용하려면, 사용하는 사용자에게 데이터베이스 및 테이블 생성, 행 삽입 권한이 필요합니다. Airbyte 전용 사용자(예: my_airbyte_user)를 생성하고 다음 권한을 부여하는 것을 권장합니다:
데이터셋을 소스로 추가
사용할 예제 데이터셋은 New York City Taxi Data(Github)입니다. 본 튜토리얼에서는 2022년 1월 데이터에 해당하는 부분 집합을 사용합니다.
-
Airbyte에서 "Sources" 페이지로 이동한 다음 파일 유형의 새 소스를 추가합니다.

-
소스 이름을 지정하고 NYC Taxi Jan 2022 파일의 URL을 입력하여 「Set up the source」 양식을 작성합니다(아래 참조). 파일 형식은
parquet으로, Storage Provider는HTTPS Public Web으로, Dataset Name은nyc_taxi_2022로 설정합니다.
-
축하합니다! 이제 Airbyte에 소스 파일이 추가되었습니다.
연결을 생성하고 데이터셋을 ClickHouse에 로드하세요
- Airbyte에서 "Connections" 페이지로 이동하여 새 연결을 추가합니다

-
"Use existing source"를 선택한 다음 New York City Taxi Data를 선택하고, 이어서 "Use existing destination"을 선택한 후 ClickHouse 인스턴스를 선택합니다.
-
「Set up the connection」 양식에서 복제 빈도(Replication Frequency)를 선택합니다(이 튜토리얼에서는
manual을 사용합니다). 그런 다음 동기화할 스트림으로nyc_taxi_2022를 선택합니다. Normalization 항목에서는 반드시Normalized Tabular Data를 선택합니다.

- 이제 연결을 생성했으므로 데이터 로딩을 시작하기 위해 「Sync now」를 클릭합니다 (
Manual을 복제 빈도(Replication Frequency)로 선택했기 때문입니다).

- 데이터 로딩이 시작되면 뷰를 확장하여 Airbyte 로그와 진행 상태를 확인할 수 있습니다. 작업이 완료되면 로그에
Completed successfully메시지가 표시됩니다:

-
선호하는 SQL 클라이언트로 ClickHouse 인스턴스에 연결한 후, 생성된 테이블을 확인합니다.
응답은 다음과 같이 표시됩니다:
응답은 다음과 같습니다:
-
Airbyte가 데이터 타입을 자동으로 추론하고 대상 테이블에 4개의 컬럼을 추가한 것을 확인할 수 있습니다. 이 컬럼들은 Airbyte가 복제 로직을 관리하고 연산을 로그로 기록하는 데 사용됩니다. 자세한 내용은 Airbyte 공식 문서에서 확인할 수 있습니다.
이제 데이터 세트가 ClickHouse 인스턴스에 로드되었으므로 새 테이블을 만들고 더 알맞은 ClickHouse 데이터 타입을 사용할 수 있습니다(자세한 내용).
-
축하합니다. Airbyte를 사용하여 NYC 택시 데이터를 ClickHouse에 성공적으로 적재했습니다!