Skip to main content

Parquet 파일을 CSV 또는 JSON으로 변환하기

clickhouse-local을 사용하면 ClickHouse가 지원하는 입력 및 출력 포맷 간에 파일을 변환할 수 있습니다(지원하는 포맷이 70가지가 넘습니다!). 이 문서에서는 S3에 있는 Parquet 파일을 CSV 및 JSON 파일로 변환합니다. 처음부터 살펴보겠습니다. ClickHouse에는 파일, 데이터베이스, 기타 리소스에서 데이터를 읽어 테이블로 변환하는 테이블 함수 모음이 있습니다. 예를 들어 S3에 Parquet 파일이 하나 있다고 가정하겠습니다. 이 파일을 읽기 위해 s3 테이블 함수를 사용하겠습니다(ClickHouse는 파일 이름을 보고 이 파일이 Parquet 파일임을 알 수 있습니다). 먼저 clickhouse 바이너리를 다운로드하겠습니다:

테이블 함수를 사용하여 데이터에 액세스하기

s3 테이블 함수가 생성한 결과 테이블에 DESCRIBE를 사용해 파일을 읽을 수 있는지 확인해 보겠습니다:
이 파일에는 영국에서 거래된 부동산의 주택 가격 데이터가 들어 있습니다. 응답은 다음과 같습니다:
데이터에 대해 원하는 쿼리를 자유롭게 실행할 수 있습니다. 예를 들어, 주택의 평균 가격이 가장 높은 도시를 살펴보겠습니다:
응답은 다음과 같습니다.

Parquet 파일을 CSV로 변환

모든 SQL 쿼리 결과를 파일로 저장할 수 있습니다. S3에 있는 Parquet 파일의 모든 컬럼을 가져와 그 결과를 새 CSV 파일로 저장하겠습니다. 출력 파일의 확장자가 .csv이므로 ClickHouse는 CSV 출력 형식을 사용합니다:
제대로 작동했는지 확인해 보겠습니다:

Parquet 파일을 JSON으로 변환

Parquet 파일을 JSON으로 변환하려면 출력 파일 이름의 확장자만 바꾸면 됩니다:
잘 되었는지 확인해 보겠습니다:

CSV를 Parquet로 변환

반대로도 가능합니다. 새 CSV 파일을 쉽게 읽어 Parquet 파일로 출력할 수 있습니다. 로컬 파일 house_prices.csv는 ClickHouse에서 file 테이블 함수를 사용해 읽을 수 있으며, ClickHouse는 파일 이름이 .parquet로 끝나면 이를 기준으로 Parquet 포맷으로 파일을 출력합니다(또는 FORMAT Parquet 절을 추가할 수도 있습니다):
앞서 언급했듯이 clickhouse local과 함께 ClickHouse의 입력 및 출력 포맷을 사용하면 파일을 다양한 포맷으로 쉽게 변환할 수 있습니다.
마지막 수정일 2026년 7월 3일