Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

ClickHouse를 사용해 MySQL 데이터를 Parquet, CSV 또는 JSON으로 내보내는 방법

ClickHouse를 사용해 MySQL 데이터를 Parquet, CSV 또는 JSON으로 내보내기

clickhouse-local 도구를 사용하면 MySQL에서 데이터를 빠르고 쉽게 읽어 Parquet, CSV, JSON을 비롯한 다양한 포맷으로 출력할 수 있습니다. 이 섹션에서는 다음을 수행합니다.

  • 데이터를 읽기 위해 mysql 테이블 함수를 사용합니다
  • INTO OUTFILE _filename_ FORMAT 절을 사용해 원하는 출력 형식을 지정합니다

clickhouse-local 도구는 ClickHouse 바이너리에 포함되어 있습니다. 다음을 사용해 다운로드하십시오.

curl https://clickhouse.com/ | sh

MySQL을 Parquet로 내보내기

mysql 테이블 함수는 MySQL 인스턴스에 전송한 쿼리 결과를 바탕으로 테이블을 생성합니다. 예를 들면 다음과 같습니다:

SELECT *
FROM
   mysql(
    'localhost:3306',
    'my_sql_database',
    'my_sql_table',
    'user',
    'password'
);

이 쿼리의 출력은 INTO OUTFILE을 사용해 파일로 저장할 수 있습니다. 생성할 파일의 포맷을 지정하려면 FORMAT을 사용하십시오. MySQL 테이블 전체 내용을 가져와 Parquet 파일로 내보내보겠습니다:

./clickhouse local -q "SELECT * FROM
   mysql(
    'localhost:3306',
    'my_sql_database',
    'my_sql_table',
    'user',
    'password'
)
INTO OUTFILE 'my_output_file.parquet'"

MySQL을 CSV로 내보내기

Parquet의 경우와 동일하지만, 이번에는 파일 이름에 .csv 확장자를 사용합니다. 그러면 ClickHouse가 쉼표로 구분된 출력 형식이 필요하다고 인식하여 해당 방식으로 데이터를 파일에 기록합니다:

./clickhouse local -q "SELECT * FROM
   mysql(
    'localhost:3306',
    'my_sql_database',
    'my_sql_table',
    'user',
    'password'
)
INTO OUTFILE 'my_output_file.csv'"

MySQL을 JSON으로 내보내기

MySQL 데이터를 JSON으로 내보내려면 파일 이름의 확장자를 jsonl 또는 ndjson로 바꾸기만 하면 됩니다:

./clickhouse local -q "SELECT * FROM
   mysql(
    'localhost:3306',
    'my_sql_database',
    'my_sql_table',
    'user',
    'password'
)
INTO OUTFILE 'my_output_file.ndjson'"

clickhouse-local 도구는 단순하면서도 매우 강력하다는 점이 인상적입니다. MySQL과 같은 데이터베이스에서 데이터를 쉽게 읽어 다양한 출력 형식으로 내보낼 수 있습니다.

Navigation