Main Content

h5create

HDF5 데이터셋 생성

설명

예제

h5create(filename,ds,sz)는 이름이 HDF5 파일 filename에서의 전체 위치를 포함하고 sz로 지정된 크기를 갖는 데이터셋 ds를 만듭니다.

예제

h5create(filename,ds,sz,Name=Value)는 하나 이상의 선택적 이름-값 인수를 지정합니다.

예를 들어, ChunkSize=[5 5]는 HDF5 파일에 개별적으로 저장이 가능한, 데이터셋의 5×5 청크를 지정합니다.

예제

모두 축소

전체 경로가 '/g1/g2/myDataset'으로 지정된 고정된 크기 100×200×300의 데이터셋 'myDataset'을 만듭니다.

h5create('myfile.h5','/g1/g2/myDataset',[100 200 300])

'myDataset'에 데이터를 씁니다. 'myDataset'의 차원이 고정되어 있으므로 데이터셋에 쓸 데이터의 양은 데이터셋의 크기와 일치해야 합니다.

mydata = ones(100,200,300);
h5write('myfile.h5','/g1/g2/myDataset',mydata)
h5disp('myfile.h5')
HDF5 myfile.h5 
Group '/' 
    Group '/g1' 
        Group '/g1/g2' 
            Dataset 'myDataset' 
                Size:  100x200x300
                MaxSize:  100x200x300
                Datatype:   H5T_IEEE_F64LE (double)
                ChunkSize:  []
                Filters:  none
                FillValue:  0.000000

단정밀도 1000×2000 데이터셋을 만들고 가장 높은 수준의 압축을 적용합니다. HDF5 압축을 적용할 때는 청크 저장을 사용해야 합니다.

h5create('myfile.h5','/myDataset2',[1000 2000],'Datatype','single', ...
          'ChunkSize',[50 80],'Deflate',9)

전체 HDF5 파일의 내용을 표시합니다.

h5disp('myfile.h5')
HDF5 myfile.h5 
Group '/' 
    Dataset 'myDataset2' 
        Size:  1000x2000
        MaxSize:  1000x2000
        Datatype:   H5T_IEEE_F32LE (single)
        ChunkSize:  50x80
        Filters:  deflate(9)
        FillValue:  0.000000

두 번째 차원이 무제한인 2차원 데이터셋 'myDataset3'을 만듭니다. 데이터셋의 임의 차원을 Inf로 설정하려면 ChunkSize를 지정해야 합니다.

h5create('myfile.h5','/myDataset3',[200 Inf],'ChunkSize',[20 20])

'/myDataset3'에 데이터를 씁니다. 두 번째 차원이 무제한이므로 '/myDataset3'에 두 번째 차원을 따라 임의 크기의 데이터를 쓸 수 있습니다.

mydata = rand(200,500);
h5write('myfile.h5','/myDataset3',mydata,[1 1],[200 500])

HDF5 파일의 전체 내용을 표시합니다.

h5disp('myfile.h5')
HDF5 myfile.h5 
Group '/' 
    Dataset 'myDataset3' 
        Size:  200x500
        MaxSize:  200xInf
        Datatype:   H5T_IEEE_F64LE (double)
        ChunkSize:  20x20
        Filters:  none
        FillValue:  0.000000

입력 인수

모두 축소

파일 이름으로, HDF5 파일의 이름을 포함하는 문자형 벡터 또는 string형 스칼라로 지정됩니다.

쓰려는 위치에 따라 filename은 다음 형식 중 하나가 될 수 있습니다.

위치

형식

현재 폴더

현재 폴더에 쓰려면 filename에 파일의 이름을 지정하십시오.

예: 'myFile.h5'

다른 폴더

현재 폴더가 아닌 다른 폴더에 쓰려면 filename에 전체 경로 또는 상대 경로 이름을 지정하십시오.

예: 'C:\myFolder\myFile.h5'

예: 'myFolder\myFile.h5'

원격 위치

원격 위치에 쓰려면 filename이 다음 형식과 같이 URL(Uniform Resource Locator)로 지정된 파일의 전체 경로를 포함해야 합니다.

scheme_name://path_to_file/my_file.ext

원격 위치에 따라 scheme_name은 다음 표에 있는 값 중 하나가 될 수 있습니다.

원격 위치scheme_name
Amazon S3™s3
Windows Azure® Blob Storagewasb, wasbs

자세한 내용은 원격 데이터로 작업하기 항목을 참조하십시오.

예: 's3://bucketname/path_to_file/myFile.h5'

  • filename이 존재하지 않는 경우 h5create가 이를 생성합니다.

  • 기존 HDF5 파일 이름과 새 데이터셋 이름을 지정할 경우 h5create는 기존 HDF5 파일에 새 데이터셋을 추가합니다.

데이터셋 이름으로, 생성할 데이터셋의 전체 경로 이름을 포함하는 문자형 벡터 또는 string형 스칼라로 지정됩니다. 데이터셋 이름에 이전에 존재하지 않은 중간 그룹을 지정할 경우 h5create는 이를 생성합니다.

데이터셋 크기로, 행 벡터로 지정됩니다. 무제한 차원을 지정하려면 sz의 대응하는 요소를 Inf로 지정하십시오. 이 경우 ChunkSize도 지정해야 합니다.

이름-값 인수

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name을 따옴표로 묶으십시오.

예: h5create("myFile.h5","/dataset1",[1000 2000],ChunkSize=[50 80],CustomFilterID=307,CustomFilterParameters=6)은 50×80 청크, 등록된 bzip2 필터(식별자 307), 압축 블록 크기 6을 사용하여 HDF5 파일 myFile.h5에서 데이터셋 dataset1을 만듭니다.

데이터셋의 데이터형으로, 다음 MATLAB® 데이터형으로 지정됩니다.

  • 'double'

  • 'single'

  • 'uint64'

  • 'int64'

  • 'uint32'

  • 'int32'

  • 'uint16'

  • 'int16'

  • 'uint8'

  • 'int8'

  • 'string'

청크 크기로, 청크의 차원을 포함하는 행 벡터로 지정됩니다. ChunkSize의 길이는 sz의 길이와 같아야 하고, ChunkSize의 각 요소는 sz의 대응하는 요소보다 작거나 같아야 합니다. sz의 요소 중 하나라도 Inf이면 ChunkSize를 지정해야 합니다.

gzip 압축 수준으로, 0과 9 사이의 숫자형 값으로 지정됩니다. 여기서 0은 가장 낮은 압축 수준이고 9는 가장 높은 압축 수준입니다.

숫자형 데이터셋의 누락된 데이터에 대한 채우기 값으로, 숫자형 값으로 지정됩니다.

32비트 Fletcher 체크섬 필터로, 숫자형 또는 논리값 1(true) 또는 0(false)으로 지정됩니다. Fletcher 체크섬 필터는 파일의 전송된 데이터에 오류가 없는지 확인하도록 설계되었습니다.

Shuffle 필터로, 숫자형 또는 논리값 1(true) 또는 0(false)으로 지정됩니다. Shuffle 필터는 메모리에 저장된 데이터의 바이트 순서를 재배열하여 압축률을 개선하도록 설계되었습니다.

텍스트 인코딩으로, 다음 값 중 하나로 지정됩니다.

  • 'UTF-8' — UTF-8 인코딩을 사용하여 문자를 표현합니다.

  • 'system' — 시스템 인코딩을 사용하여 문자를 바이트로 표현합니다(권장되지 않음).

등록된 필터 플러그인의 필터 ID(The HDF Group에 의해 할당됨)로, 양의 정수로 지정됩니다. 등록된 필터의 목록을 보려면 The HDF Group 웹사이트의 필터 페이지를 참조하십시오.

이 인수의 디폴트 값은 압축을 위해 동적으로 불러온 필터가 데이터 세트에 사용되지 않음을 의미합니다.

데이터형: double

타사 필터의 필터 파라미터로, 숫자 스칼라 또는 행 벡터로 지정됩니다. 이 인수도 지정하지 않고 CustomFilterID를 지정할 경우 h5create 함수는 빈 벡터를 HDF5 라이브러리에 전달하고 필터는 디폴트 파라미터를 사용합니다.

이 이름-값 인수는 HDF5 라이브러리에 있는 H5Pset_filter 함수의 cd_values 인수에 대응됩니다.

데이터형: double

제한 사항

  • h5create는 HDFS™에 원격으로 저장되는 파일을 생성하는 것을 지원하지 않습니다.

세부 정보

모두 축소

HDF5의 청크 저장

청크 저장은 데이터셋을 청크라는 작은 데이터 조각으로 나누어 메모리에 저장하는 방법을 가리킵니다. 데이터셋을 청크화할 경우 HDF5 파일에서 청크를 개별적으로 읽고 쓸 수 있으므로 데이터셋의 서브셋을 대상으로 작업할 때 성능을 개선할 수 있습니다.

버전 내역

R2011a에 개발됨

모두 확장