DataStore I/O 작업
DataStore는 다양한 파일 형식과 데이터 소스에서 데이터를 읽고 쓰는 작업을 지원합니다.
데이터 읽기
CSV 파일
예제:
Parquet Files
대규모 데이터셋에 적합합니다 — 더 나은 압축을 제공하는 컬럼형 포맷입니다.
예시:
JSON 파일
예제:
Excel 파일
예제:
SQL 데이터베이스
예시:
기타 포맷
데이터 기록
to_csv
CSV 형식으로 데이터를 내보냅니다.
예제:
to_parquet
Parquet 형식으로 데이터를 내보냅니다(대용량 데이터에 권장됩니다).
예제:
to_json
데이터를 JSON 형식으로 내보냅니다.
예제:
to_excel
데이터를 Excel 형식으로 내보냅니다.
예:
to_sql
데이터를 SQL 데이터베이스로 내보내거나 SQL 문자열을 생성합니다.
예제:
기타 내보내기 방법
파일 형식 비교
| 형식 | 읽기 속도 | 쓰기 속도 | 파일 크기 | 스키마 | 적합한 용도 |
|---|---|---|---|---|---|
| Parquet | 빠름 | 빠름 | 작음 | 있음 | 대규모 데이터 세트, 분석 작업 |
| CSV | 보통 | 빠름 | 큼 | 없음 | 호환성, 단순한 데이터 |
| JSON | 느림 | 보통 | 큼 | 부분적 | API, 중첩 데이터 |
| Excel | 느림 | 느림 | 보통 | 부분적 | 비기술 사용자와의 공유 |
| Feather | 매우 빠름 | 매우 빠름 | 보통 | 있음 | 프로세스 간 데이터 교환, pandas |
권장 사항
-
분석 워크로드용: Parquet 사용
- 컬럼형 포맷으로 필요한 컬럼만 읽을 수 있음
- 우수한 압축률
- 데이터 타입 보존
-
데이터 교환용: CSV 또는 JSON 사용
- 폭넓은 호환성
- 사람이 읽기 쉬움
-
pandas와의 상호 운용성용: Feather 또는 Arrow 사용
- 가장 빠른 직렬화
- 타입 보존
압축 지원
압축된 파일 읽기
압축 파일 쓰기
압축 옵션
| 압축 방식 | 속도 | 압축률 | 사용 사례 |
|---|---|---|---|
snappy | 매우 빠름 | 낮음 | Parquet의 기본 압축 방식 |
lz4 | 매우 빠름 | 낮음 | 속도 우선 |
gzip | 보통 | 높음 | 호환성 |
zstd | 빠름 | 매우 높음 | 최적의 균형 |
bz2 | 느림 | 매우 높음 | 최대 압축 |
스트리밍 I/O
메모리에 한 번에 올릴 수 없는 매우 큰 파일의 경우:
청크 단위 읽기
ClickHouse Streaming 사용
원격 데이터 소스
HTTP/HTTPS
S3
GCS, Azure, HDFS
Cloud 스토리지 옵션에 대해서는 Factory Methods를 참조하십시오.