デ,タストア入門
デ,タストアとは
デタストアは,単一のファルまたはファルやデタのコレクションを読み取るオブジェクトです。デタストアは,同一の構造と形式をもデタのリポジトリとして機能します。たとえば,データストア内の各ファイルは同じ順序で現れる同じ型(数値またはテキストなど)のデータを含み,同じ区切り記号で区切られていなければなりません。
デタストアは次の場合に役に立ます。
コレクションに含まれる各ファ@ @ルが大きすぎてメモリに収まらない場合。デタストアにより,各ファルのデタをメモリに収まる小さいサズで読み取り,解析できます。
コレクションに含まれるファ@ @ルに任意の名前が付いている場合。デタストアは,1以上のフォルダに含まれるファルのリポジトリとして機能します。ファ@ @ルの名前が通し番号を含む必要はありません。
デ,タストアは,デ,タ型やアプリケ,ションの種類に基づいて作成できます。各種類のデータストアには,それらのデータストアがサポートするデータ型に関連するプロパティが含まれています。たとえば,matlab®デ,タストアの一覧は,次の表を参照してください。デ,タストアの完全な一覧は,ファル形式またはアプリケション用のデタストアの選択を参照してください。
ファ▪▪ルの種類またはデ▪▪タ型 | デ,タストアの種類 |
---|---|
CSVファ@ @ルなどの列方向優先デ@ @タを含むテキストファ@ @ル。 | TabularTextDatastore |
JpegやPNGなど,imread によってサポ,トされる形式を含む,メ,ル。 |
ImageDatastore |
.xlsx などのサポ,トされているExcel®形式をもスプレッドシトファル。 |
SpreadsheetDatastore |
mapreduce の入力または出力であるキ,と値のペアのデ,タ。 |
KeyValueDatastore |
列方向デ,タを含むParquetファ,etc,ル。 | ParquetDatastore |
カスタムファ@ @ル形式。デ,タの読み取り用に提供された関数が必要です。 | FileDatastore |
高 配列のチェックポ▪▪ント用デ▪▪タストア。 |
TallDatastore |
デ,タストアの作成およびその読み取り
関数tabularTextDatastore
を使用して,各航空会社のフラaaplトの出発と到着情報が含まれているサンプルファaaplルairlinesmall.csv
からデ,タストアを作成します。結果はTabularTextDatastore
オブジェクトです。
ds = tabularTextDatastore(“airlinesmall.csv”)
ds = TabularTextDatastore属性:文件:{'…\matlab\toolbox\matlab\demos\ airlinsmall .csv'}文件夹:{'…\matlab\toolbox\matlab\demos'} FileEncoding: 'UTF-8' AlternateFileSystemRoots: {} preservvariablenames: false ReadVariableNames: true VariableNames: {'Year', 'Month', 'DayofMonth'…和26个更多}DatetimeLocale: en_US文本格式属性:NumHeaderLines: 0分隔符:',' RowDelimiter: '\r\n' TreatAsMissing: " MissingValue: NaN高级文本格式属性:TextscanFormats: {'%f', '%f', '%f'…TextType: 'char' ExponentCharacters: 'eEdD' CommentStyle: "空格:' \b\t' MultipleDelimitersAsOne: false属性,控制表返回预览,读取,readall: SelectedVariableNames:{'年','月','月日'…和26}SelectedFormats: {% f ', ' % f ', ' % f '……ReadSize: 20000行OutputType: 'table' RowTimes:[]写属性:supportedoutputformat: ["txt" "csv" "xlsx" 万博1manbetx"xls" "parquet" "parq"] DefaultOutputFormat: "txt"
データストアを作成すると,すべてのデータをメモリに読み込まなくても対象のデータをプレビューできます。SelectedVariableNames
プロパティを使用して目的の変数(列)を指定し,その変数だけをプレビュー表示したり読み取ったりできます。
ds。SelectedVariableNames = {“DepTime”,“DepDelay”};预览(ds)
ans = 8×2 table DepTime DepDelay _______ ________ 642 12 1021 1 2055 20 1332 12 629 1 1446 63 928 2 859 1
欠損値を表すデ,タの値を指定できます。airlinesmall.csv
では,欠損値はNA
で表されます。
ds。TreatAsMissing =“NA”;
デ,タストア内の目的の変数に関するすべてのデ,タがメモリに収まる場合は,関数readall
を使用してそのデ,タを読み取ることができます。
T = readall(ds);
それ以外の場合は,関数读
を使用してメモリに収まる小さなサブセットとしてデ,タを読み取ります。関数读
は既定で,TabularTextDatastore
から一度に20000行ず読み取ります。ただし,この値はReadSize
プロパティに新しい値を代入して変更できます。
ds。ReadSize = 15000;
関数重置
を使用して,再度読み取る前にデ,タストアを初期状態にリセットします。而
ル,プ内で関数读
を呼び出して,各デ,タのサブセットで中間計算を実行してから,最後に中間結果を集計できます。次のコ,ドでは,変数DepDelay
の最大値を計算しています。
reset(ds) X = [];而hasdata(ds) T = read(ds);X(end+1) = max(T.DepDelay);结束maxDelay = max(X)
maxDelay = 1438
個々のファルのデタがメモリに収まる場合は,读
の各呼び出しで特定の行数ではなく1のファル全体を読み取るように指定できます。
重置(ds) ds。ReadSize =“文件”;X = [];而hasdata(ds) T = read(ds);X(end+1) = max(T.DepDelay);结束maxDelay = max(X);
デ,タストア内のデ,タのサブセットの読み取りに加えて,mapreduce
を使用してmap関数とreduce関数をデ,タストアに適用できます。また,高
を使用して高配列を作成することもできます。詳細にいては,MapReduce入門とメモリに収まらないデタの高配列を参照してください。
参考
tabularTextDatastore
|imageDatastore
|spreadsheetDatastore
|KeyValueDatastore
|fileDatastore
|高
|mapreduce