ClickHouse에서 Avro, Arrow, ORC 데이터를 사용하는 방법
Apache는 분석 환경에서 활발히 사용되는 여러 데이터 포맷을 정의했으며, 여기에는 널리 사용되는 Avro, Arrow, ORC가 포함됩니다. ClickHouse는 이 목록에 있는 모든 형식을 사용하여 데이터를 가져오고 내보내는 기능을 지원합니다.
Avro 형식으로 가져오기 및 내보내기
ClickHouse는 Hadoop 시스템에서 널리 사용되는 Apache Avro 데이터 파일을 읽고 쓸 수 있습니다.
avro 파일에서 데이터를 가져오려면 INSERT 구문에서 Avro 형식을 사용하면 됩니다.
file() 함수를 사용하면 데이터를 실제로 가져오기 전에 Avro 파일을 미리 살펴볼 수도 있습니다:
Avro 파일로 내보내려면:
Avro 및 ClickHouse 데이터 유형
Avro 파일을 가져오거나 내보낼 때 데이터 유형 매칭을 고려하십시오. Avro 파일에서 데이터를 로드할 때는 명시적 형 변환을 사용하여 데이터 유형을 변환하십시오.
Kafka에서 Avro 메시지 사용
Kafka 메시지가 Avro 형식을 사용할 때 ClickHouse는 AvroConfluent 형식과 Kafka 엔진을 사용하여 이와 같은 스트림을 읽을 수 있습니다.
Arrow 포맷 다루기
또 다른 컬럼형 포맷으로 Apache Arrow가 있으며, ClickHouse에서는 가져오기와 내보내기 모두를 지원합니다. Arrow 파일에서 데이터를 가져오기 위해 Arrow 포맷을 사용합니다.
Arrow 파일로의 내보내기도 동일한 방식으로 동작합니다:
또한 수동으로 변환해야 하는 데이터 타입이 있는지 확인하려면 data types matching을(를) 참조하십시오.
Arrow 데이터 스트리밍
ArrowStream 형식을 사용하면 Arrow 스트리밍(메모리 내 처리에 사용됨)으로 데이터를 처리할 수 있습니다. ClickHouse는 Arrow 스트림을 읽고 쓸 수 있습니다.
ClickHouse가 Arrow 데이터를 어떻게 스트리밍할 수 있는지 보여주기 위해 다음 Python 스크립트로 파이프로 전달해 보겠습니다(이 스크립트는 Arrow 스트리밍 형식으로 입력 스트림을 읽고, 결과를 Pandas 테이블로 출력합니다):
이제 ClickHouse의 출력을 스크립트로 파이프로 전달하여 데이터를 스트리밍할 수 있습니다.
ClickHouse에서는 동일한 ArrowStream 포맷을 사용하여 Arrow 스트림도 읽을 수 있습니다.
arrow-stream을 Arrow 스트리밍 데이터의 소스 중 하나로 사용했습니다.
ORC 데이터 가져오기 및 내보내기
Apache ORC 형식은 Hadoop 환경에서 주로 사용되는 열 지향 저장 형식입니다. ClickHouse는 ORC 형식을 사용하여 ORC 데이터의 가져오기(import)와 내보내기(export)를 모두 지원합니다:
또한 내보내기와 가져오기 동작을 조정하려면 데이터 타입 매핑과 추가 설정도 함께 확인하십시오.
추가 자료
ClickHouse는 다양한 시나리오와 플랫폼을 지원하기 위해 텍스트 및 바이너리 형식을 포함한 여러 포맷을 지원합니다. 다음 문서에서 더 많은 포맷과 이를 다루는 방법을 살펴보십시오:
또한 clickhouse-local도 확인하십시오. ClickHouse 서버 없이 로컬/원격 파일을 다룰 수 있는 휴대성이 뛰어난 전체 기능 도구입니다.