HDF5 데이터셋 (.hdf5)

The 표준

Hierarchical Data Format 5 (HDF5)는 대규모 다차원 배열을 위한 대표적인 과학 데이터 관리 아키텍처로, 슈퍼컴퓨팅, 기후 모델링, 신경과학 및 머신러닝에서 널리 사용됩니다.

HDF5을(를) CSV(으)로 변환

무료 브라우저 내 HDF5에서 CSV로 변환하는 도구입니다. 기기에서 파일을 즉시 변환할 수 있습니다.

검사 및 메타데이터

운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 HDF5 파일을 식별합니다:

여기에 파일을 선택하거나 놓으십시오

비공개 - 파일은 기기를 벗어나지 않습니다

또는 붙여넣기 Ctrl+V
네트워크 전송 없음에 대한 개인정보 보호 보장: 외부 서버로 업로드된 데이터는 0바이트입니다. 모든 처리는 브라우저 샌드박스 내에서 로컬로 수행되었습니다.

바이트 단위 헤더 시그니처 (매직 바이트)

운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 HDF5 파일을 식별합니다:

16진수 시그니처 (오프셋 0):

89 48 44 46 0D 0A 1A 0A

ASCII 표현: \x89HDF\r\n\x1a\n

표준화: The HDF Group Open Standard Specification

기술 사양

컨테이너 아키텍처그룹(폴더)과 데이터셋(다차원 배열) 및 속성으로 데이터를 구성하는 계층적 파일 시스템 형태의 바이너리 컨테이너
압축청크 기반 압축 필터: Gzip(Deflate), SZIP, Zstandard, Blosc 및 LZF
바이트 엔디안슈퍼블록에 선언됨(리틀 엔디언 또는 빅 엔디언)
색 공간해당 없음(다차원 수치 배열)
채널 및 구조고차원 과학 배열, 복합 데이터 유형 및 가변 길이 문자열
최대 크기실질적으로 무제한(64비트 좌표와 페타바이트 규모 데이터셋 지원)
투명도없음
스트리밍 및 프로그레시브청크 저장으로 전체 데이터셋을 메모리에 불러오지 않고 하이퍼슬랩 일부를 슬라이스할 수 있음

기술 비교 매트릭스: HDF5 대 경쟁사

기술적 속성HDF5 (현재)NETCDFFITSZARR
계층 구조완전한 POSIX 유사 파일 시스템 (그룹 및 데이터셋)NetCDF-4는 내부적으로 HDF5 사용고정 블록 배열 및 테이블클라우드 네이티브 청크 디렉토리 포맷
데이터셋 슬라이싱초고속 바이너리 하이퍼슬랩 읽기빠른 하이퍼슬랩 읽기직접 블록 인덱싱클라우드 병렬 청크 페치
머신러닝 사용모델 가중치의 표준 (Keras .h5)AI에서 거의 사용되지 않음없음AI 학습 데이터셋 사용 증가 중
주요 생태계NCSA, 슈퍼컴퓨팅, Python h5pyNOAA, 기상학, 해양학NASA, 천문학, 망원경클라우드 네이티브 데이터 과학

일반적인 손상 모드 및 헥스 복구 가이드

Python h5py 오류: '파일을 열 수 없습니다 (파일 시그니처를 찾을 수 없음)'.

근본 원인: 파일 시작 부분의 8바이트 슈퍼블록이 손상되었습니다.

복구: File2File.app HDF5 도구를 사용하여 슈퍼블록 오프셋을 검사하거나 데이터셋을 복구하십시오.

보안 분석 및 파서 공격 벡터

공식 libhdf5 라이브러리는 복잡한 B-트리와 힙 테이블을 파싱하며, 손상된 오프셋으로 인해 힙 오버플로우 취약점이 발생한 적이 있습니다.

알려진 공격 벡터

  • B-트리 노드 인덱스 순회 중 발생하는 힙 버퍼 오버플로우 (예: CVE-2021-37501).
  • 사용자 정의 압축 필터 파이프라인 플러그인의 범위를 벗어난 쓰기(Out-of-bounds write).
  • 순환 그룹 연결 주기로 인한 서비스 거부.

방어적 모범 사례: 메모리 사용량이 제한된 샌드박스화된 WebAssembly 엔진을 사용하여 신뢰할 수 없는 HDF5 파일을 처리하십시오.

역사적 배경 및 주요 이력

2020HDF5 v1.12에 클라우드 객체 스토리지(Amazon S3)용 VOL(Virtual Object Layer) 커넥터가 도입되었습니다.
2006HDF 그룹이 일리노이 대학교 NCSA에서 독립 비영리 재단으로 분사했습니다.
1998NCSA가 2GB 파일 제한을 없애기 위해 기존 HDF4를 완전히 재설계한 HDF5를 출시했습니다.

주요 장점

  • 파일 내 완전한 파일 시스템: 수페타바이트 규모의 복잡한 데이터셋을 디렉토리처럼 명명된 그룹과 데이터셋으로 구성합니다.
  • 고성능 하이퍼슬랩 슬라이싱: 전체 파일을 읽지 않고도 방대한 100GB 5D 매트릭스에서 작은 2D 슬라이스를 읽을 수 있습니다.
  • 최신 과학용 Python(h5py), MATLAB, R 및 고성능 MPI 병렬 슈퍼컴퓨터와의 깊은 통합.

기술적 제한 사항 및 단점

  • 복잡한 사양으로 인해 공식 libhdf5 C 라이브러리 외에는 독립적인 파서 구현이 어렵습니다.
  • 클래식 HDF5의 단일 라이터 잠금 제한으로 인해 동시 쓰기 워크플로우가 복잡해졌습니다.
  • 손상된 슈퍼블록은 전체 계층 구조 트리에 대한 접근을 불가능하게 만들 수 있습니다.

흥미로운 기술적 상식

  • HDF5 서명은 PNG에서 유래했으며 형식 식별과 일반적인 전송 오류 감지에 도움을 줍니다.
  • NASA의 지구 관측 시스템(EOS)은 매일 수 페타바이트에 달하는 위성 기후 데이터를 HDF5 포맷으로 저장합니다.
  • Keras 및 TensorFlow 같은 딥러닝 프레임워크가 신경망 가중치를 저장하기 위해 HDF5(.h5)를 널리 대중화했습니다.

자주 묻는 기술 질문

HDF5 파일이란 무엇입니까?

HDF5 파일은 대규모 과학적 배열, 테이블, 머신러닝 모델을 효율적으로 저장하도록 설계되어 단일 파일 내에 저장되는 완전한 파일 시스템과 같습니다.

.h5와 .hdf5는 어떻게 다릅니까?

차이가 없습니다. .h5와 .hdf5는 동일한 계층형 데이터 형식 5(Hierarchical Data Format 5)에 대한 두 가지 다른 파일 확장자입니다.

HDF5 파일의 내용을 어떻게 볼 수 있습니까?

HDFView, Python h5py를 사용하거나 온라인에서 File2File.app을 사용하여 HDF5 파일 내의 그룹, 데이터셋, 메타데이터를 검사할 수 있습니다.