ドキュメンテーション

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

KeyValueDatastore

キーと値のペアのデータを mapreduce で使用するためのデータ ストア

説明

KeyValueDatastore オブジェクトは、mapreduce の出力または入力であるキーと値のペアのデータを含むファイルに関連付けられます。データへのアクセス方法を指定するには KeyValueDatastore プロパティを使用します。KeyValueDatastore オブジェクトの特定のプロパティを表示または変更するには、ドット表記を使用します。

ds = datastore('mapredout.mat');
ds.ReadSize = 20;

関数 datastore を使用してデータ ストアを作成する場合は、名前と値のペアの引数を使用して KeyValueDatastore プロパティの値を指定することもできます。

ds = datastore('mapredout.mat','ReadSize',20);

作成

関数 KeyValueDatastore を使用して datastore オブジェクトを作成します。

プロパティ

すべて展開する

データ ストアに含まれるファイル。n 行 1 列の文字ベクトルの cell 配列または string 配列として指定します。各文字ベクトルまたは string はファイルへの絶対パスです。これらのファイルは関数 datastorelocation 引数で定義されるファイルです。location 引数には、ローカル ファイル システム、ネットワーク ファイル システム、または Amazon S3™、Windows Azure® Blob Storage、HDFS™ などのサポートされるリモートの場所にあるファイルへの絶対パスが含まれます。詳細については、リモート データの操作を参照してください。

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

例: {'C:\dir\data\file1.mat';'C:\dir\data\file2.mat'}

例: {'s3://bucketname/path_to_files/your_file01.mat';'s3://bucketname/path_to_files/your_file02.mat'}

データ型: cell | string

ファイルの種類。MAT ファイルの場合は 'mat'、シーケンス ファイルの場合は 'seq' として指定します。既定では、mapreduce を Hadoop® に対して実行した場合の出力はシーケンス ファイルを含むデータ ストアになり、既定では、それ以外の mapreduce 演算の出力はいずれも MAT ファイルを含むデータ ストアになります。

データ型: cell | string

関数 read または preview の 1 回の呼び出しで読み取られるキーと値のペアの最大数。正の整数として指定します。

代替ファイル システムのルート パス。'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複数のデータ ストアのデータを統合

すべて折りたたむ

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

ds = datastore('mapredout.mat')
ds = 

  KeyValueDatastore with properties:

       Files: {
              ' ...\matlab\toolbox\matlab\demos\mapredout.mat'
              }
    ReadSize: 1 key-value pairs
    FileType: 'mat'

ReadSize プロパティを 8 に設定して、read の呼び出しごとに最大で 8 組のキーと値のペアを読み取るようにします。

ds.ReadSize = 8
ds = 

  KeyValueDatastore with properties:

       Files: {
              ' ...\matlab\toolbox\matlab\demos\mapredout.mat'
              }
    ReadSize: 8 key-value pairs
    FileType: 'mat'

while ループで関数 read を使用して、一度に 8 組のキーと値のペアを読み取ります。このループは、読み取り可能なデータがなくなって hasdata(ds) から false が返されるまで実行されます。

while hasdata(ds)
    T = read(ds);
end

最後に読み取られた一連のキーと値のペアを表示します。

T
T = 

    Key     Value 
    ____    ______

    'OO'    [3090]
    'TZ'    [ 216]
    'XE'    [2357]
    '9E'    [ 521]
    'YV'    [ 849]

R2014b で導入