데이터
Apache Arrow 파일이란?
Apache Arrow는 열 지향 데이터 형식과 라이브러리를 제공하며, Arrow IPC는 프로세스와 애플리케이션 간 교환을 위해 데이터를 직렬화합니다. 파일 형식은 일반적으로 .arrow를 사용하고 푸터를 통해 레코드 배치에 임의 접근할 수 있습니다. 스트림 형식은 보통 .arrows를 사용하며 메시지를 순서대로 전달합니다. Feather V2는 Arrow IPC 파일 형식에 기반한 명칭입니다.
.arrow · .feather · .arrows프로세스 간 열 지향 데이터 교환
이 형식을 선택할 때
- Arrow 라이브러리와 분석 엔진 사이에서 형식이 지정된 데이터 이동
- IPC 파일 형식에서 레코드 배치에 임의 접근
이 형식을 피할 때
- 일반 스프레드시트 앱에서 직접 편집
- IPC 모드와 압축 지원을 확인하지 않고 서로 다른 도구에서 열기
주요 용도
- 호환되는 프로그램과 언어 사이에서 열 지향 테이블 데이터 교환
- Arrow를 지원하는 도구 간 분석 데이터 세트 전달
특징
- 열 지향 스키마, 형식, 레코드 배치를 바이너리로 직렬화
- 파일 형식은 푸터의 오프셋을 사용해 레코드 배치에 임의 접근
- 스트림 형식은 스키마와 레코드 배치 메시지를 순서대로 전송
- 데이터 버퍼는 압축하지 않거나 LZ4 또는 Zstandard로 압축할 수 있음
장점과 단점
장점
- 여러 프로그래밍 언어와 분석 라이브러리 간 열 지향 데이터 교환
- 호환 구현에서 형식 정보와 중첩 구조를 유지
- 파일 형식에서 필요한 레코드 배치에 효율적으로 접근
단점
- CSV나 JSON과 달리 바이너리 데이터를 바로 읽을 수 없음
- 도구와 라이브러리 버전마다 Arrow IPC 및 압축 지원이 다름
- Parquet 같은 저장 형식과 목적이 다름
열기 및 변환
여는 방법
Apache Arrow 라이브러리나 Arrow IPC를 지원하는 분석 도구로 읽습니다. .arrow는 보통 파일 형식, .arrows는 스트림 형식이지만 받는 도구가 기대하는 IPC 방식과 압축 코덱을 확인하세요. Feather 파일은 이전 Feather V1과의 호환성도 점검해야 합니다.
변환 방법
Parquet은 분석 데이터 저장과 배포에, CSV는 단순한 표 교환에 적합할 수 있습니다. 변환 과정에서 Arrow 고유 형식, 중첩 구조, 사전 인코딩 또는 압축 설정이 바뀌거나 사라질 수 있습니다. 필요한 형식과 정밀도를 확인하고 원본 데이터를 보관하세요.
주의 사항
- Arrow IPC 자체는 기밀성이나 무결성을 보호하지 않습니다. 민감한 데이터는 접근 제어가 적용된 경로로 다루세요.
- 출처를 알 수 없는 바이너리는 신뢰할 수 있고 최신인 Arrow 구현으로 검증하고 안전하지 않은 판독기는 피하세요.
- 파일 형식과 스트림 형식은 서로 호환되지 않습니다. 코덱 지원 차이로도 파일을 열지 못할 수 있습니다.
자주 묻는 질문
Arrow IPC는 Parquet과 어떻게 다른가요?
Arrow IPC는 프로그램 간 열 지향 데이터 교환에 사용되고, Parquet은 분석 저장용 열 지향 파일 형식입니다. 시스템 환경과 교환 또는 저장 목적에 따라 선택하세요.
Feather와 .arrow는 같은 형식인가요?
Feather V2는 Arrow IPC 파일 형식에 기반하며 .feather 또는 .arrow를 사용할 수 있습니다. 이전 Feather V1은 호환성이 다르므로 버전을 확인하세요.