이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

partition

데이터저장소 파티셔닝

구문

subds = partition(ds,n,index)
subds = partition(ds,'Files',index)
subds = partition(ds,'Files',filename)

설명

예제

subds = partition(ds,n,index)는 데이터저장소 dsn으로 지정된 파트 개수로 파티셔닝하고 인덱스 index에 대응하는 파티션을 반환합니다.

예제

subds = partition(ds,'Files',index)는 파일을 기준으로 데이터저장소를 파티셔닝하고 Files 속성의 인덱스 index 파일에 대응하는 파티션을 반환합니다.

subds = partition(ds,'Files',filename)은 파일을 기준으로 데이터저장소를 파티셔닝하고 filename으로 지정된 파일에 대응하는 파티션을 반환합니다.

예제

모두 축소

대규모 파일 모음을 저장할 데이터저장소를 만듭니다. 이 예제에서는 샘플 파일 airlinesmall.csv의 복사본 10개를 사용합니다. 테이블 형식 데이터의 누락된 필드를 처리하기 위해 이름-값 쌍 TreatAsMissingMissingValue를 지정합니다.

files = repmat({'airlinesmall.csv'},1,10);
ds = tabularTextDatastore(files,...
                 'TreatAsMissing','NA','MissingValue',0);

데이터저장소를 3개의 파티션으로 분할하고 첫 번째 파티션을 반환합니다. partition 함수는 데이터저장소 ds에 들어 있는 데이터 중에서 약 삼분의 일 분량에 해당하는 첫 번째 부분을 반환합니다.

subds = partition(ds,3,1)
subds = 
  TabularTextDatastore with properties:

                      Files: {
                             ' ...\matlab\toolbox\matlab\demos\airlinesmall.csv';
                             ' ...\matlab\toolbox\matlab\demos\airlinesmall.csv';
                             ' ...\matlab\toolbox\matlab\demos\airlinesmall.csv'
                              ... and 1 more
                             }
               FileEncoding: 'UTF-8'
   AlternateFileSystemRoots: {}
          ReadVariableNames: true
              VariableNames: {'Year', 'Month', 'DayofMonth' ... and 26 more}

  Text Format Properties:
             NumHeaderLines: 0
                  Delimiter: ','
               RowDelimiter: '\r\n'
             TreatAsMissing: 'NA'
               MissingValue: 0

  Advanced Text Format Properties:
            TextscanFormats: {'%f', '%f', '%f' ... and 26 more}
                   TextType: 'char'
         ExponentCharacters: 'eEdD'
               CommentStyle: ''
                 Whitespace: ' \b\t'
    MultipleDelimitersAsOne: false

  Properties that control the table returned by preview, read, readall:
      SelectedVariableNames: {'Year', 'Month', 'DayofMonth' ... and 26 more}
            SelectedFormats: {'%f', '%f', '%f' ... and 26 more}
                   ReadSize: 20000 rows

데이터저장소의 Files 속성은 데이터저장소에 들어 있는 파일의 목록을 포함합니다. 데이터저장소 ds와 분할된 데이터저장소 subdsFiles 속성에서 파일 개수를 확인합니다. 데이터저장소 ds에는 10개의 파일이 들어 있고, 파티션 subds에는 처음 4개의 파일이 들어 있습니다.

length(ds.Files)
ans = 10
length(subds.Files)
ans = 4

샘플 파일 mapredout.mat에서 데이터저장소를 만듭니다. 이 파일은 mapreduce 함수의 출력 파일입니다.

ds = datastore('mapredout.mat');

ds의 디폴트 파티션 개수를 가져옵니다.

n = numpartitions(ds);

데이터저장소를 디폴트 파티션 개수로 파티셔닝하고 첫 번째 파티션에 대응하는 데이터저장소를 반환합니다.

subds = partition(ds,n,1);

subds에서 데이터를 읽습니다.

while hasdata(subds)
	data = read(subds);
end

3개의 이미지 파일이 포함된 데이터저장소를 만듭니다.

ds = imageDatastore({'street1.jpg','peppers.png','corn.tif'})
ds = 

  ImageDatastore with properties:

       Files: {
              ' ...\matlab\toolbox\matlab\demos\street1.jpg';
              ' ...\matlab\toolbox\matlab\imagesci\peppers.png';
              ' ...\matlab\toolbox\matlab\imagesci\corn.tif'
              }
    ReadSize: 1
      Labels: {}
     ReadFcn: @readDatastoreImage

파일을 기준으로 데이터저장소를 파티셔닝하고 두 번째 파일에 대응하는 파트를 반환합니다.

subds = partition(ds,'Files',2)
subds = 

  ImageDatastore with properties:

       Files: {
              ' ...\matlab\toolbox\matlab\imagesci\peppers.png'
              }
    ReadSize: 1
      Labels: {}
     ReadFcn: @readDatastoreImage

subds에는 하나의 파일이 포함됩니다.

샘플 파일 mapredout.mat에서 데이터저장소를 만듭니다. 이 파일은 mapreduce 함수의 출력 파일입니다.

ds = datastore('mapredout.mat');

병렬 풀의 3개의 워커에 대한 데이터저장소를 3개의 파트로 파티셔닝합니다.

n = 3;
p = parpool('local',n);

parfor ii=1:n
    subds = partition(ds,n,ii);
    while hasdata(subds)
        data = read(subds);
    end
end

입력 인수

모두 축소

입력 데이터저장소입니다. datastore 함수를 사용하여 데이터에서 datastore 객체를 만들 수 있습니다.

파티션 개수로, 양의 정수로 지정됩니다.

예: 3

데이터형: double

인덱스로, 양의 정수로 지정됩니다.

예: 1

데이터형: double

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

filename의 값은 데이터저장소의 Files 속성에 포함된 파일 이름과 정확하게 일치해야 합니다. 파일 이름이 정확하게 일치하는지 확인하려면 ds.Files{N}을 사용하여 filename을 지정하십시오. 여기서 NFiles 속성에 있는 파일의 인덱스입니다. 예를 들어, ds.Files{3}은 데이터저장소 ds의 세 번째 파일을 지정합니다.

예: ds.Files{3}

예: 'file1.csv'

예: '../dir/data/file1.csv'

예: 'hdfs://myserver:7867/data/file1.txt'

데이터형: char

출력 인수

모두 축소

출력 데이터저장소입니다. 출력 데이터저장소는 입력 데이터저장소 ds와 형식이 같습니다.

참고 항목

|

도움말 항목

R2015a에 개발됨