비교
JSON Lines와 Parquet의 차이
JSON Lines는 UTF-8 텍스트의 각 줄에 독립적인 JSON 값을 저장합니다. Parquet은 행 그룹과 열 청크를 갖춘 바이너리 열 기반 파일입니다.
어떤 형식을 선택해야 할까요?
이벤트를 하나씩 출력하고 수집할 때는 JSONL을, 일관된 타입의 분석 데이터에서 필요한 열을 읽을 때는 Parquet을 고려하세요.
적합한 경우 JSON Lines
줄 단위로 처리하는 로그와 기록 · JSON 레코드의 스트리밍 교환
- 레코드를 하나씩 읽고 쓰기
- 일반 텍스트 도구로 데이터를 추가하거나 합치기
적합한 경우 Parquet
분석용 구조화된 표 저장
- 선택한 열만 읽는 대규모 데이터
기본 정보
| 항목 | JSON Lines | Parquet |
|---|---|---|
| 확장자 | .jsonl, .ndjson | .parquet |
| MIME 유형 | application/jsonl | application/vnd.apache.parquet |
| 주요 용도 | 줄 단위로 처리하는 로그와 기록 · JSON 레코드의 스트리밍 교환 | 분석용 구조화된 표 저장 |
| 여는 방법 | 텍스트 편집기나 JSON Lines 지원 도구로 엽니다. 각 줄을 JSON으로 검증하면 구문 오류가 있는 레코드를 찾기 쉽습니다. | Parquet 지원 도구로 스키마, 열 유형, 행 수 및 값을 확인하세요. |
| 내보내기 또는 변환 | JSON 배열로 바꿀 때는 각 줄을 배열 요소로 모읍니다. 배열에서 JSON Lines로 바꿀 때는 값을 한 줄씩 기록합니다. 큰 파일은 변환 중 메모리 사용량을 고려하세요. | CSV 등에서 변환할 때 형식, null, 타임스탬프, 인코딩, 파티션 및 행 수를 확인하세요. |
용도별 선택
레코드를 하나씩 읽고 쓰기
줄 단위로 처리하는 로그와 기록 · JSON 레코드의 스트리밍 교환
JSON Lines일반 텍스트 도구로 데이터를 추가하거나 합치기
줄 단위로 처리하는 로그와 기록 · JSON 레코드의 스트리밍 교환
JSON Lines선택한 열만 읽는 대규모 데이터
분석용 구조화된 표 저장
Parquet핵심 사항 1
JSONL은 줄 단위로 파싱할 수 있습니다. 마지막 줄바꿈은 레코드 추가와 파일 연결을 쉽게 합니다.
차이 자세히 보기핵심 사항 2
Parquet 리더는 파일 끝의 메타데이터로 열 청크를 찾습니다. 텍스트 줄을 단순히 추가하는 작업과는 다릅니다.
차이 자세히 보기차이 자세히 보기
같은 데이터, 압축 설정, 도구로 측정하세요. 어느 형식도 항상 더 빠르거나 작지는 않습니다.
- 변환할 때 스키마와 열 타입을 정하고 누락 필드와 null, 정수 정밀도, 타임스탬프, 중첩 값을 확인하세요.
- JSONL의 전체 레코드는 스칼라나 배열일 수도 있습니다. 서로 다른 구조의 레코드를 행으로 어떻게 표현할지 먼저 정하세요.
자주 묻는 질문
타입을 정하지 않고 JSONL을 Parquet으로 변환할 수 있나요?
변환기는 명시적 설정이나 추론으로 값을 스키마와 타입에 대응시켜야 합니다. 대응 관계를 검증하고 예상하지 못한 값은 거부하세요.