메인 콘텐츠로 건너뛰기
Apache는 분석 환경에서 활발히 사용되는 여러 데이터 포맷을 제공하고 있으며, 여기에는 널리 사용되는 Avro, Arrow, Orc가 포함됩니다. ClickHouse는 이들 포맷을 사용한 데이터 가져오기와 내보내기를 지원합니다.

Avro 포맷으로 가져오기 및 내보내기

ClickHouse는 Hadoop 시스템에서 널리 사용되는 Apache Avro 데이터 파일을 읽고 쓰는 기능을 지원합니다. avro file에서 가져오려면 INSERT 문에서 Avro 포맷을 사용해야 합니다:
file() 함수를 사용하면 데이터를 실제로 가져오기 전에 Avro 파일도 미리 확인할 수 있습니다:
Avro 파일로 내보내려면 다음과 같이 하십시오:

Avro와 ClickHouse 데이터 타입

Avro 파일을 가져오거나 내보낼 때는 데이터 타입 매핑을 확인하십시오. Avro 파일에서 데이터를 로드할 때는 명시적 타입 캐스팅으로 변환하십시오:

Kafka의 Avro 메시지

Kafka 메시지가 Avro 포맷을 사용하는 경우, ClickHouse는 AvroConfluent 포맷과 Kafka 엔진을 사용해 이러한 스트림을 읽을 수 있습니다:

Arrow 형식 사용하기

또 다른 컬럼형 포맷인 Apache Arrow는 ClickHouse에서 가져오기와 내보내기를 모두 지원합니다. Arrow 파일에서 데이터를 가져오려면 Arrow 포맷을 사용합니다:
Arrow 파일로 내보내는 방법도 동일합니다:
또한 수동 변환이 필요한 항목이 있는지 확인하려면 데이터 타입 매핑을 참조하십시오.

Arrow 데이터 스트리밍

ArrowStream 포맷은 Arrow 스트리밍(인메모리 처리에 사용됨)으로 작업할 때 사용할 수 있습니다. ClickHouse는 Arrow 스트림을 읽고 쓸 수 있습니다. ClickHouse가 Arrow 데이터를 스트리밍하는 방법을 보여주기 위해, 이를 다음 Python 스크립트로 파이프해 보겠습니다(이 스크립트는 Arrow 스트리밍 포맷의 입력 스트림을 읽고, 결과를 Pandas 테이블로 출력합니다):
이제 ClickHouse의 출력을 스크립트로 파이프해 데이터를 스트리밍할 수 있습니다:
ClickHouse는 같은 ArrowStream 포맷으로 Arrow 스트림도 읽을 수 있습니다:
arrow-stream을 Arrow 스트리밍 데이터의 가능한 소스 중 하나로 사용했습니다.

ORC 데이터 가져오기 및 내보내기

Apache ORC 포맷은 일반적으로 Hadoop에서 사용하는 열 지향 스토리지 포맷입니다. ClickHouse는 ORC 포맷을 사용해 ORC 데이터를 가져오고 내보낼 수 있습니다:
또한 내보내기와 가져오기를 최적화하려면 데이터 타입 매핑과 추가 설정도 확인하십시오.

추가 읽을거리

ClickHouse는 다양한 시나리오와 플랫폼을 지원하기 위해 텍스트 포맷과 바이너리 포맷을 비롯한 여러 포맷을 제공합니다. 더 많은 포맷과 활용 방법은 다음 문서를 참조하십시오: 또한 clickhouse-local도 확인해 보십시오. ClickHouse 서버 없이도 로컬/원격 파일을 대상으로 작업할 수 있는, 이식성이 뛰어난 완전한 기능의 도구입니다.