matlab.io.datastore.FileSet
説明
matlab.io.datastore.FileSet
オブジェクトを使用して、ファイルを繰り返し移動するときにファイルの大規模な集合を処理できます。FileSet
オブジェクトを DsFileReader
オブジェクトと共に使用して、データストアのファイルを管理し、読み取ります。
作成
説明
は、ファイル拡張子、サブフォルダーを含めるかどうかを指定するか、オブジェクトのプロパティを設定します。名前と値のペアは複数指定することができます。名前を引用符で囲みます。fs
= matlab.io.datastore.FileSet(location
,Name,Value
)
入力引数
location
— 含めるファイルまたはフォルダー
文字ベクトル | 文字ベクトルの cell 配列 | string 配列 | 構造体
FileSet
オブジェクトに含めるファイルまたはフォルダー。文字ベクトル、文字ベクトルの cell 配列、string 配列または構造体として指定します。ファイルが現在のフォルダーに存在しない場合、location
は絶対パスまたは相対パスでなければなりません。指定したフォルダーのサブフォルダー内にあるファイルは、自動で FileSet
オブジェクトに含まれません。
通常、Hadoop® ワークフローで location
を構造体として指定する場合、FileName
、Offset
、および Size
フィールドが含まれていなければなりません。この要件により、matlab.io.datastore.HadoopLocationBased
クラスの initializeDatastore
メソッドで直接 location
引数を使用できるようになります。例については、Hadoop サポートの追加を参照してください。
location
を指定するときにワイルドカード文字 (*) を使用できます。この文字を指定すると、一致するすべてのファイルまたは一致するフォルダー内のすべてのファイルがファイル セット オブジェクトに含められます。
ローカルで使用できないファイルについては、次のような Uniform Resource Locator (URL) を使用してファイルまたはフォルダーの絶対パスを指定しなければなりません。
hdfs://
hostname
:portnumber
/path_to_file
データ型: char
| cell
| string
| struct
引数のオプションのペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name
を引用符で囲みます。
例: fs = matlab.io.datastore.FileSet(location,'IncludeSubfolders',true)
IncludeSubfolders
— サブフォルダーを含めるかどうかのフラグ
0
または false
(既定値) | 1
または true
サブフォルダーを含めるかどうかのフラグ。数値あるいは logical 1
(true
) または 0
(false
) として指定します。各フォルダー内のすべてのファイルとサブフォルダーを含めるには true
を指定し、各フォルダー内のファイルのみを含めるには false
を指定します。
例: 'IncludeSubfolders',true
FileExtensions
— ファイル拡張子
文字ベクトル | 文字ベクトルの cell 配列 | string 配列
ファイル拡張子。文字ベクトル、文字ベクトルの cell 配列、または string 配列として指定します。空の引用符 ''
を使用して、拡張子のないファイルを表すことができます。
'FileExtensions'
を指定しない場合、BlockedFileSet
は自動的にすべてのファイル拡張子を含めます。
例: 'FileExtensions','.jpg'
例: 'FileExtensions',{'.txt','.csv'}
プロパティ
AlternateFileSystemRoots
— 代替ファイル システムのルート パス
string 配列 | cell 配列
代替ファイル システムのルート パス。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
NumFiles
— ファイル数
数値スカラー
この プロパティ は読み取り専用です。
ファイル セット オブジェクト内のファイル数。数値スカラーとして指定します。
例: fs.NumFiles
データ型: double
NumFilesRead
— 読み取るファイル数
数値スカラー
この プロパティ は読み取り専用です。
FileSet
オブジェクトから読み取るファイル数。数値スカラーとして指定します。
例: fs.NumFilesRead
データ型: double
FileInfo
— ファイルに関する情報
matlab.io.datastore.FileInfo
オブジェクト
この プロパティ は読み取り専用です。
matlab.io.datastore.FileSet
オブジェクト内のファイルに関する情報。以下のプロパティを使用する matlab.io.datastore.FileInfo
オブジェクトとして返されます。
Filename
—FileSet
オブジェクト内のファイルの名前。名前にはファイルの絶対パスが含まれます。FileSize
— ファイルのサイズ (バイト数)。
特定のファイルの情報を得るには、ファイルのインデックスを指定します。たとえば、fs.FileInfo(2)
では 2 つ目のファイルのファイル名とファイル サイズが返されます。(:)
を指定するかインデックスを指定せずに fs.FileInfo
を呼び出すと、すべてのファイルに関する情報が返されます。
例: fs.FileInfo(2)
オブジェクト関数
hasNextFile | ファイルセット内に別のファイルがあるかどうかを確認する |
nextfile | 次のファイルまたはファイル チャンクの情報 |
hasPreviousFile | ファイルセットに以前のファイルがあるかどうかを確認する |
previousfile | ファイルセット内の以前のファイルに関する情報 |
progress | 読み取られたブロックまたはファイルの数を確認する |
maxpartitions | 最大区画数 |
partition | ファイルセット オブジェクトの分割 |
subset | データストアまたは FileSet のサブセットの作成 |
reset | ファイルセット オブジェクトのリセット |
例
ファイルセットの作成およびすべてのファイルの情報の取得
ファイルセットを作成して、ファイルセット内の特定のファイルに関する情報をクエリします。
ファイルの集合のファイルセット fs
を作成します。
folder = {'accidents.mat','airlineResults.mat','census.mat','earth.mat'}
folder = 1x4 cell
{'accidents.mat'} {'airlineResults.mat'} {'census.mat'} {'earth.mat'}
fs = matlab.io.datastore.FileSet(folder)
fs = FileSet with properties: NumFiles: 4 NumFilesRead: 0 FileInfo: FileInfo for all 4 files AlternateFileSystemRoots: {}
関数 nextfile
を使用するか、FileInfo
プロパティをクエリしてインデックスを指定し、特定のファイルの情報を取得します。nextfile
を使用して連続するファイルに関する情報を取得します。たとえば、セット内の最初の 2 つのファイルに関する情報を取得します。
file1 = nextfile(fs)
file1 = 1x1 FileInfo Filename FileSize ______________________________________________________________________________ ________ "/mathworks/devel/bat/Bdoc23b/build/matlab/toolbox/matlab/demos/accidents.mat" 7343
file2 = nextfile(fs)
file2 = 1x1 FileInfo Filename FileSize ___________________________________________________________________________________ __________ "/mathworks/devel/bat/Bdoc23b/build/matlab/examples/matlab/data/airlineResults.mat" 1.5042e+05
FileInfo
プロパティをクエリして、セット内の最後のファイルに関する情報をクエリします。
lastfile = fs.FileInfo(4)
lastfile = 1x1 FileInfo Filename FileSize __________________________________________________________________________ ________ "/mathworks/devel/bat/Bdoc23b/build/matlab/toolbox/matlab/demos/earth.mat" 32522
バージョン履歴
R2020a で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)