Main Content

TallDatastore

tall 配列のチェックポイントのデータストア

説明

TallDatastore オブジェクトは、関数 write によってディスクに書き込まれたバイナリ ファイルから tall 配列を再作成するためのオブジェクトです。そのオブジェクトを使用して元の tall 配列を再作成できます。また、TallDataStore プロパティを指定し、オブジェクト関数を使用することで、データにアクセスしてそれらを管理することができます。

作成

関数 datastore を使用して TallDatastore オブジェクトを作成します。たとえば、tds = datastore(location,"Type","tall") は、location で指定されたファイルの集合からデータストアを作成します。

プロパティ

すべて展開する

データストアに含まれるファイル。文字ベクトル、文字ベクトルの cell 配列、string スカラーまたは string 配列として解決されます。個々の文字ベクトルまたは string はファイルへの絶対パスです。

関数 datastore の引数 location は、データストアの作成時に Files プロパティを定義します。location 引数には、ローカル ファイル システム、ネットワーク ファイル システム、または Amazon S3™、Windows Azure® Blob Storage、HDFS™ などのサポートされるリモートの場所にあるファイルへの絶対パスが含まれます。詳細については、リモート データの操作を参照してください。

ファイルは、関数 write で生成された MAT ファイルまたはシーケンス ファイルのいずれかでなければなりません。

例: ["C:\dir\data\file1.ext";"C:\dir\data\file2.ext"]

例: ["s3://bucketname/path_to_files/your_file01.ext";"s3://bucketname/path_to_files/your_file02.ext"]

データ型: char | cell | string

ファイルの種類。MAT ファイルの場合は "mat"、シーケンス ファイルの場合は "seq" として指定します。既定では、指定された場所のファイルの種類によって FileType が決まります。

データ型: char | string

関数 read または preview の 1 回の呼び出しで読み取られるデータの最大行数。正の整数として指定します。関数 datastore は、TallDatastore を作成するときに、ReadSize の最適値を決定して割り当てます。

代替ファイル システムのルート パス。"AlternateFileSystemRoots" と string ベクトルまたは cell 配列で構成される名前と値の引数として指定します。ローカル マシン上にデータストアを作成するが、別のマシン (異なるオペレーティング システムの可能性がある) 上でデータにアクセスして処理する必要がある場合は、"AlternateFileSystemRoots" を使用します。また、Parallel Computing Toolbox™ と MATLAB® Parallel Server™ を使用してデータを処理し、そのデータがローカル マシンに保存され、そのデータのコピーが異なるプラットフォームのクラウドやクラスター マシンにある場合、"AlternateFileSystemRoots" を使用してルート パスを関連付けなければなりません。

  • 相互に対応する 1 組のルート パスを関連付けるには、"AlternateFileSystemRoots" を string ベクトルとして指定します。以下に例を示します。

    ["Z:\datasets","/mynetwork/datasets"]

  • データストアに対応する複数の組のルート パスを関連付けるには、複数行を含む cell 配列として "AlternateFileSystemRoots" を指定します。各行は対応するルート パスの組を表します。cell 配列内の各行を string ベクトル、または文字ベクトルの cell 配列のいずれかとして指定します。以下に例を示します。

    • "AlternateFileSystemRoots" を string ベクトルの cell 配列として指定します。

      {["Z:\datasets", "/mynetwork/datasets"];...
       ["Y:\datasets", "/mynetwork2/datasets","S:\datasets"]}

    • あるいは、"AlternateFileSystemRoots" を文字ベクトルの cell 配列からなる cell 配列として指定します。

      {{'Z:\datasets','/mynetwork/datasets'};...
       {'Y:\datasets', '/mynetwork2/datasets','S:\datasets'}}

"AlternateFileSystemRoots" の値は、次の条件を満たさなければなりません。

  • 1 行以上の行を含み、各行は 1 組の対応するルート パスを指定する。

  • 各行は複数のルート パスを指定し、各ルート パスは 2 文字以上を含まなければならない。

  • ルート パスは一意で、他のルート パスのサブフォルダーではない。

  • ファイルの場所を指す 1 つ以上のルート パス エントリを含む。

詳細については、異なるマシンまたはクラスターで処理するためのデータストアの設定を参照してください。

例: ["Z:\datasets","/mynetwork/datasets"]

データ型: string | cell

オブジェクト関数

hasdataデータが読み取り可能かどうかを判別
numpartitionsデータストアの区画数
partitionデータストアを分割する
previewデータストア内のデータのサブセットをプレビュー
readデータストアのデータの読み取り
readallデータストアのすべてのデータの読み取り
resetデータストアの初期状態へのリセット
transformデータストアの変換
combine複数のデータストアのデータを統合
isPartitionableデータストアが分割可能かどうかを判別
isSubsettableDetermine whether datastore is subsettable
isShuffleableデータストアがシャッフル可能かどうかを判別

すべて折りたたむ

tall 配列を生成したコマンドをすべて再実行するのではなく、TallDatastore オブジェクトを使用して、ディスク上のファイルから直接に tall 配列を再作成します。tall 配列を作成し、関数 write を使用してディスクに保存します。datastore を使用して tall 配列を取得してから、それを変換して tall に戻します。

単純な double 型 tall を作成します。

t = tall(rand(500,1))
t =

  500×1 tall double column vector

    0.8147
    0.9058
    0.1270
    0.9134
    0.6324
    0.0975
    0.2785
    0.5469
      :
      :

結果を Example_Folder という名前の新規フォルダーに保存します。

location = fullfile(matlabroot,"toolbox","matlab","demos","Folder1");
write(location, t);
Writing tall data to folder H:\matlab\toolbox\matlab\demos\Folder1
Evaluating tall expression using the Local MATLAB Session:
- Pass 1 of 1: Completed in 0.063 sec
Evaluation completed in 0.16 sec

ディスクに書き込まれた tall 配列を復元するには、まず、同じディレクトリを参照する新しいデータストアを作成します。次に、データストアを tall 配列に変換します。

tds = datastore(location);
t1 = tall(tds)
t1 =

  M×1 tall double column vector

    0.8147
    0.9058
    0.1270
    0.9134
    0.6324
    0.0975
    0.2785
    0.5469
      :
      :

バージョン履歴

R2016b で導入