ドキュメンテーション

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

datastore

データの大規模な集合用のデータ ストアを作成

構文

ds = datastore(location)
ds = datastore(location,Name,Value)

説明

ds = datastore(location) は、location で指定されたデータの集合からデータ ストアを作成します。データ ストアとは、大きすぎてメモリに収まらないデータの集合を格納したリポジトリです。ds の作成後、データを読み取って処理できます。

ds = datastore(location,Name,Value) は、1 つ以上の名前と値のペアの引数を使用して、ds に追加のパラメーターを指定します。たとえば、'Type','image' を指定して、イメージ ファイルのデータ ストアを作成できます。

すべて折りたたむ

サンプル ファイル airlinesmall.csv に関連付けられたデータ ストアを作成します。このファイルには、1987 年から 2008 年までの航空会社のデータが格納されています。

数値列の欠損データのインポートを管理するには、名前と値のペアの引数 'TreatAsMissing' を使用します。この例では、'TreatAsMissing''NA' 値を指定すると、インポートしたデータのすべての 'NA' インスタンスが NaN に置き換えられます。ここで、NaN はデータ ストアの 'MissingValue' プロパティに指定された値です。

ds = datastore('airlinesmall.csv', ...
                   'TreatAsMissing','NA')
ds = 
  TabularTextDatastore with properties:

                      Files: {
                             ' .../devel/bat/Bdoc18b/build/matlab/toolbox/matlab/demos/airlinesmall.csv'
                             }
               FileEncoding: 'UTF-8'
   AlternateFileSystemRoots: {}
          ReadVariableNames: true
              VariableNames: {'Year', 'Month', 'DayofMonth' ... and 26 more}
             DatetimeLocale: en_US

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

  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

datastoreTabularTextDatastore を作成します。

MATLAB® パスおよびそのサブフォルダー内にあるすべての .tif ファイルを含むデータ ストアを作成します。

ds = datastore(fullfile(matlabroot, 'toolbox', 'matlab'),...
'IncludeSubfolders', true,'FileExtensions', '.tif','Type', 'image')
ds = 

  ImageDatastore with properties:

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

入力引数

すべて折りたたむ

データ ストアに含めるファイルまたはフォルダー。文字ベクトル、文字ベクトルの cell 配列、string スカラーまたは string 配列として指定します。ファイルが現在のフォルダーに存在しない場合、location は絶対パスまたは相対パスでなければなりません。指定したフォルダーのサブフォルダー内にあるファイルは、自動ではデータ ストアに含まれません。

location を指定するときにワイルドカード文字 (*) を使用できます。この文字は、一致するすべてのファイルや一致するフォルダー内のすべてのファイルをデータ ストアに含めることを示します。

ローカルで使用できないファイルについては、次のような IRI (国際化リソース識別子) を使用してファイルまたはフォルダーの絶対パスを指定しなければなりません。
hdfs:///path_to_file

Amazon S3™、Windows Azure® Blob Storage、および HDFS™ と共に datastore を使用する方法の詳細については、リモート データの操作を参照してください。

KeyValueDatastore の場合、ファイルは関数 mapreduce で生成された MAT ファイルまたはシーケンス ファイルでなければなりません。MAT ファイルはローカル ファイル システムまたはネットワーク ファイル システムになければなりません。シーケンス ファイルは、ローカル、ネットワークまたは HDFS のファイル システムに配置できます。DatabaseDatastore の場合、引数 location がファイルである必要はありません。詳細については、DatabaseDatastore を参照してください。

例: 'file1.csv'

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

例: {'C:\dir\data\file1.xls','C:\dir\data\file2.xlsx'}

例: 'C:\dir\data\*.mat'

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

データ型: char | cell | string

名前と値のペアの引数

オプションの Name,Value の引数ペアをコンマ区切りで指定します。Name は引数名で、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を任意の順序で指定できます。

例: 'FileExtensions',{'.jpg','.tif'} は、ImageDatastore オブジェクトについて、.jpg または .tif の拡張子をもつすべてのファイルを含めます。

データ ストアの種類。'Type' と次のいずれかで構成されるコンマ区切りのペアとして指定します。

'Type' の値説明
'tabulartext'表形式データを含むテキスト ファイル。データのエンコードは ASCII または UTF-8 でなければなりません。
'image'JPEG や PNG などの形式のイメージ ファイル。使用できるファイルには imformats 形式が含まれます。
'spreadsheet'1 つ以上のシートを含むスプレッドシート ファイル。
'keyvalue'MAT ファイルまたはシーケンス ファイルに含まれ、mapreduce で生成したデータをもつキーと値のペアのデータ。
'file'データの読み取りに指定の読み取り関数を必要とするカスタム形式ファイル。詳細については、FileDatastore を参照してください。
'tall'tall データ型の関数 write によって生成された MAT ファイルまたはシーケンス ファイル。詳細については、TallDatastore を参照してください。
'database'データベースに保存されたデータ。Database Toolbox™ を必要とします。type パラメーターを使用する場合は、追加の入力引数を指定する必要があります。詳細については、DatabaseDatastore を参照してください。
  • ファイル形式をサポートする種類が複数ある場合は、引数 'Type' を使用してデータ ストアの種類を指定します。

  • 'Type' の値を指定しない場合、作成するデータ ストアの適切な種類はファイルの拡張子に基づいて datastore により自動的に判別されます。

データ型: char | string

フォルダー内のサブフォルダーを含めるかどうか。'IncludeSubfolders' と、true (1) または false (0) で構成されるコンマ区切りのペアとして指定します。各フォルダー内のすべてのファイルとサブフォルダーを含めるには true を指定し、各フォルダー内のファイルのみを含めるには false を指定します。

'IncludeSubfolders' を指定しない場合、既定値は false です。

'IncludeSubfolders' の名前と値のペアは、次のオブジェクトを作成する場合にのみ有効です。

  • TabularTextDatastore

  • ImageDatastore

  • SpreadsheetDatastore

  • FileDatastore

  • KeyValueDatastore

例: 'IncludeSubfolders',true

データ型: logical | double

ファイルの拡張子。'FileExtensions' と、文字ベクトル、文字ベクトルの cell 配列、string スカラーまたは string 配列で構成されるコンマ区切りのペアとして指定します。'FileExtensions' を指定する場合は 'Type' も指定します。空の引用符 '' を使用して、拡張子のないファイルを表すことができます。

'FileExtensions' を指定しない場合、データ ストアの種類に応じて、サポートされるすべてのファイル拡張子が datastore により自動的に含められます。サポートされていない拡張子を含める場合は、含める拡張子を個々に指定します。

  • TabularTextDatastore オブジェクトの場合、サポートされる拡張子には .txt.csv.dat.dlm.asc および .text が含まれます。また、拡張子がない場合もサポートされます。

  • ImageDatastore オブジェクトの場合、サポートされる拡張子にはすべての imformats が含まれます。

  • SpreadsheetDatastore オブジェクトの場合、サポートされる拡張子には .xls.xlsx.xlsm.xltx および .xltm が含まれます。

  • TallDatastore オブジェクトの場合、サポートされる拡張子には .mat および .seq が含まれます。

'FileExtensions' の名前と値のペアは、次のオブジェクトを作成する場合にのみ有効です。

  • TabularTextDatastore

  • ImageDatastore

  • SpreadsheetDatastore

  • FileDatastore

  • KeyValueDatastore

例: 'FileExtensions','.jpg'

例: 'FileExtensions',{'.txt','.text'}

データ型: char | cell | string

代替ファイル システムのルート パス。'AlternateFileSystemRoots' と string ベクトルまたは cell 配列で構成されるコンマ区切りのペアとして指定します。ローカル マシン上にデータ ストアを作成するが、別のマシン (異なるオペレーティング システムの可能性がある) 上でデータにアクセスして処理する必要がある場合は、'AlternateFileSystemRoots' を使用します。また、Parallel Computing Toolbox™ と MATLAB® Distributed Computing 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

テキスト変数の出力データ型。'TextType''char' または 'string' のいずれかで構成されるコンマ区切りのペアとして指定します。関数 readreadall または preview の出力テーブルにテキスト変数が含まれる場合、'TextType' は、TabularTextDatastore オブジェクトおよび SpreadsheetDatastore オブジェクトについてのみ、それらの変数のデータ型を指定します。'TextType''char' の場合、出力は文字ベクトルの cell 配列です。'TextType''string' の場合、出力の型は string です。

データ型: char | string

インポートされる日付と時刻のデータの型。'DatetimeType' と、'datetime' または 'text' のいずれかの値で構成されるコンマ区切りのペアとして指定します。'DatetimeType' 引数は、TabularTextDatastore オブジェクトを作成する場合にのみ適用されます。

インポートされる日付と時刻のデータの型
'datetime'

MATLAB の datetime データ型

詳細については、datetime を参照してください。

'text'

'DatetimeType''text' として指定した場合、インポートされる日付と時刻のデータの型は 'TextType' パラメーターで指定された値によって決まります。

  • 'TextType''char' の場合、datastore は日付を文字ベクトルの cell 配列として返します。

  • 'TextType''string' の場合、datastore は日付を string 配列として返します。

例: 'DatetimeType','datetime'

データ型: char | string

テキスト ファイルからの duration データの出力データ型。'DurationType''duration' または 'text' のいずれかで構成されるコンマ区切りのペアとして指定します。

インポートされる duration データの型
'duration'

MATLAB の duration データ型

詳細については、duration を参照してください。

'text'

'DurationType''text' として指定した場合、インポートされる duration データの型は 'TextType' パラメーターで指定された値によって決まります。

  • 'TextType''char' の場合、インポート関数は duration データを文字ベクトルの cell 配列として返します。

  • 'TextType''string' の場合、インポート関数は duration データを string の配列として返します。

データ型: char | string

これらの名前と値のペアに加えて、次のオブジェクトの任意のプロパティも名前と値のペアとして指定できます。ただし、Files プロパティを除きます。

出力引数

すべて折りたたむ

データの集合のデータ ストア。次のオブジェクトのいずれかとして返されます。TabularTextDatastoreImageDatastoreSpreadsheetDatastoreKeyValueDatastoreFileDatastoreTallDatastore または DatabaseDatastore。データ ストアの種類は、ファイルの種類または引数 location によって決まります。詳細については、次の表のデータ ストア名をクリックしてください。

タイプ 出力
テキスト ファイルTabularTextDatastore
イメージ ファイルImageDatastore
スプレッドシート ファイルSpreadsheetDatastore
mapreduce によって生成された MAT ファイルまたはシーケンス ファイルKeyValueDatastore
カスタム形式ファイルFileDatastore
tall データ型の関数 write によって生成された MAT ファイルまたはシーケンス ファイル。 TallDatastore
データベースDatabaseDatastore

これらの各データ ストアの種類の場合、Files プロパティは文字ベクトルの cell 配列です。個々の文字ベクトルは、location 引数に関連付けられたファイルへの絶対パスです。

R2014b で導入