ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

partition

データ ストアを分割する

構文

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

説明

subds = partition(ds,n,index) は、n で指定された個数にデータ ストア ds を分割し、インデックス 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 から最初の約 1/3 のデータを返します。

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 プロパティには、データ ストア内のファイルのリストが格納されます。データ ストア dsFiles プロパティに格納されたファイルの数と分割されたデータ ストア subds をチェックします。データ ストア ds には 10 個のファイル、区画 subds には最初の 4 個のファイルが格納されます。

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

関数 mapreduce の出力ファイルであるサンプル ファイル mapredout.mat からデータ ストアを作成します。

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

データ ストアをファイル別に分割し、2 番目のファイルに対応する部分を返します。

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

  ImageDatastore with properties:

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

subds にはファイルが 1 つあります。

関数 mapreduce の出力ファイルであるサンプル ファイル mapredout.mat からデータ ストアを作成します。

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 内の 3 番目のファイルを指定します。

例: ds.Files{3}

例: 'file1.csv'

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

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

データ型: char

出力引数

すべて折りたたむ

出力データ ストア。出力データ ストアは、入力データ ストア ds と同じ種類です。

参考

|

トピック

R2015a で導入