parquetDatastore
Parquet ファイルの集合用のデータストア
説明
個々の Parquet ファイルがメモリに収まる一方で、ファイルの集合全体は必ずしも収まるわけではない場合は、ParquetDatastore オブジェクトを使用して Parquet ファイルの集合を管理します。関数 parquetDatastore を使用して ParquetDatastore オブジェクトを作成し、そのプロパティを指定すると、オブジェクト関数を使用してデータのインポートおよび処理ができます。
作成
説明
は、1 つ以上の名前と値のペアの引数を使用して、pds = parquetDatastore(location,Name,Value)pds の追加パラメーターとプロパティを指定します。
入力引数
データストアに含めるファイルまたはフォルダー。次の値のいずれかとして指定します。
FileSetオブジェクト — 場所をFileSetオブジェクトとして指定すると、パスまたはDsFileSetオブジェクトを指定した場合に比べ、データストアの構築時間が短くなります。詳細については、matlab.io.datastore.FileSetを参照してください。DsFileSetオブジェクト — 詳細については、matlab.io.datastore.DsFileSetを参照してください。ファイル パス — 単一のファイル パスを string スカラーまたは文字ベクトルとして指定できます。複数のファイル パスは string 配列または文字ベクトルの cell 配列として指定できます。
ファイルまたはフォルダーはローカルでもリモートでもかまいません。
ローカルのファイルまたはフォルダー — 現在のフォルダー以外のファイルの場合は、絶対パスまたは相対パスを指定します。指定したフォルダーのサブフォルダー内にあるファイルは、自動ではデータストアに含まれません。ローカル パスを指定するときにワイルドカード文字 (*) を使用できます。この文字は、一致するフォルダー内にある、すべてのファイルまたは一致するすべてのファイルをデータストアに含めることを指定します。
リモートのファイルまたはフォルダー —
hdfs:///の形式の Uniform Resource Locator (URL) として、リモートのファイルまたはフォルダーの絶対パスを指定します。インターネット URL には、プロトコル タイプpath_to_file"http://"または"https://"を含める必要があります。URL の任意の部分にワイルドカード文字を使用して複数のリモート ファイルを指定します (R2025a 以降)。詳細については、リモート データの操作を参照してください。
フォルダーを指定する場合、データストアにはサポートされているファイル形式のファイルのみが含まれ、その他の形式のファイルは無視されます。データストアに含めるファイル拡張子のカスタム リストを指定するには、名前と値の引数 FileExtensions を参照してください。
関数 parquetDatastore は .parquet ファイル形式をサポートしています。
例: "myfile.parquet"
例: "../dir/data/myfile.parquet"
例: ["C:\dir\data\myfile01.parquet","C:\dir\data\myfile02.parquet"]
例: "s3://bucketname/path_to_files/*.parquet"
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
例: parquetDatastore("myfolder",IncludeSubfolders=true)
R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name を引用符で囲みます。
例: parquetDatastore("myfolder","IncludeSubfolders",true)
データストアに含める拡張子。"FileExtensions" と、文字ベクトル、文字ベクトルの cell 配列、string スカラー、または string 配列で構成される名前と値の引数として指定します。
"FileExtensions"を指定しない場合、parquetDatastoreは、指定パス上にある.parquetおよび.parqの拡張子をもつすべてのファイルを自動的に含める。非標準のファイル拡張子をもつ parquet ファイルを
parquetDatastoreに含める場合は、それらの拡張子を明示的に指定する。拡張子をもたないファイルの
parquetDatastoreを作成する場合は、"FileExtensions"を空の文字ベクトル''として指定する。
例: "FileExtensions",[".parquet",".parq"]
例: "FileExtensions",".myformat"
例: "FileExtensions",''
データ型: char | cell | string
サブフォルダーを含めるかどうかのフラグ。"IncludeSubfolders" と true または false で構成される名前と値の引数として指定します。各フォルダー内のすべてのファイルとサブフォルダーを含めるには true を指定し、各フォルダー内のファイルのみを含めるには false を指定します。
"IncludeSubfolders" を指定しない場合、既定値は false です。
例: "IncludeSubfolders",true
データ型: logical | double
変数名を保持するかどうかのフラグ。"modify" または "preserve" として指定します。
"modify"— 無効な変数名 (関数isvarnameで判定) を、有効な MATLAB® 識別子に変換。"preserve"— スペースや非 ASCII 文字を含む変数名など、有効な MATLAB 識別子ではない変数名を保持。
R2019b 以降、変数名と行名には、スペースや非 ASCII 文字など任意の文字を含めることができます。また、英字だけでなく任意の文字で始めることができます。変数名と行名は、有効な MATLAB 識別子 (関数 isvarname で判定) である必要はありません。これらの変数名と行名を保持するには、VariableNamingRule の値を "preserve" に設定します。VariableNamingRule の値を "modify" から "preserve" に変更すると、変数名が更新されなくなります。
データ型: char | string
代替ファイル システムのルート パス。"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
プロパティ
ParquetDatastore プロパティは datastore オブジェクト内のファイルの形式を記述し、データストアからデータを読み取る方法を制御します。Files プロパティを例外として、datastore オブジェクトの作成時に、名前と値のペアの引数を使用して ParquetDatastore プロパティの値を指定することができます。オブジェクトの作成後にプロパティの表示または変更を行うには、ドット表記を使用します。
データストアに含まれるファイル。文字ベクトルの cell 配列または string 配列として解決されます。各文字ベクトルまたは string はファイルへの絶対パスです。location 引数がこれらのファイルを定義します。
cell 配列で最初に指定するファイルにより、データストア内のすべてのファイルに対する変数名と形式の情報が決定されます。
例: {"C:\dir\data\file1.ext";"C:\dir\data\file2.ext"}
データ型: cell | string
この プロパティ は読み取り専用です。
データストアの作成に使用するフォルダー。文字ベクトルの cell 配列として返されます。cell 配列は列ベクトルとして方向付けされます。各文字ベクトルは、データ ファイルを含むフォルダーへのパスです。関数 parquetDatastore および関数 datastore の location 引数は、データストアの作成時に Folders を定義します。
ParquetDatastore オブジェクトの Files プロパティを変更すると、Folders プロパティがリセットされます。
データ型: cell
インポートする行を選択するフィルター。matlab.io.RowFilter オブジェクトとして指定します。matlab.io.RowFilter オブジェクトは、出力 table または timetable に含まれるために各行が満たす必要がある条件を指定します。RowFilter を指定しなかった場合、parquetDatastore は入力 Parquet ファイルからすべての行をインポートします。
読み取りステップごとに読み取るデータの量。次の値の 1 つとして指定します。
"rowgroup"— 読み取りステップごとに、Parquet データの行グループ内の行数を読み取ります。各行グループ内の行数を取得するには、ParquetInfoオブジェクトのRowGroupHeightsプロパティを参照してください。"file"— 読み取りステップごとに、1 つのファイルにあるすべてのデータを読み取ります。正の整数 — 読み取りステップごとに、指定した数の行を読み取ります。
ReadSize を正の整数から "file" または "rowgroup" に変更するか、"file" または "rowgroup" から正の整数に変更すると、MATLAB はデータストアを、データが読み取られていない未読状態にリセットします。
並列処理ワークフロー (Parallel Computing Toolbox) では、データは各並列ワーカーからステップごとに読み取られます。シリアル ワークフローでは、データは入力 location からステップごとに読み取られます。
データ型: string | char | double
R2023b 以降
並列処理の分割ユニット。次の表の値のいずれかとして指定します。
並列処理ワークフロー (Parallel Computing Toolbox) では、PartitionMethod により、各並列ワーカーに送信するデータの量を決定します。各ワーカーに送信するデータの量は、分割ユニットの総数を並列ワーカーの数で除算することで概算されます。シリアル ワークフローでは、名前と値の引数 PartitionMethod は無視されます。
値 | 説明 |
|---|---|
| parquetDatastore は名前と値の引数 ReadSize に基づいて分割ユニットを選択して、並列ワーカー間のワークロードのバランスを取ります。 |
| 分割はファイルの総数に基づきます。 |
"bytes" | 分割は、BlockSize プロパティで指定されたバイト数に基づきます。 |
"rowgroup" | 分割は行グループの総数に基づきます。 |
処理の粒度と速度は、PartitionMethod 値と ReadSize 値の組み合わせによって決まります。PartitionMethod によって各並列ワーカーに送信するデータ量を決定し、ReadSize によって読み取りステップごとに読み取るデータ量を決定します。次の表には、サポートされている PartitionMethod と ReadSize の組み合わせ、およびその相対的な粒度と分割時間を示します。
| 粒度、分割時間 | PartitionMethod | ReadSize |
|---|---|---|
| 高粒度、長い分割時間 | rowgroup | rowgroup |
rowgroup | 正の整数 | |
| 中粒度、中程度の分割時間 | bytes | rowgroup |
| 低粒度、短い分割時間 | file | file |
R2023b 以降
分割ごとのバイト数。正の整数として指定します。この引数は、PartitionMethod が "bytes" の場合に指定します。既定では、BlockSize の値は 128000000 バイト (128 MB) です。
例: BlockSize=1000000
データストア内の変数名。文字ベクトル、文字ベクトルの cell 配列、string スカラーまたは string 配列として指定します。ファイルに表示される順序で変数名を指定します。変数名を指定しない場合は、データストアが最初のファイルの最初の非ヘッダー行から検出しれます。文字ベクトルまたは string スカラーを使用して VariableNames を指定できますが、データストアはプロパティ値を変換して文字ベクトルの cell 配列に保存します。VariableNames プロパティを変更する場合、新しい変数名の数は、元の変数名の数と一致しなければなりません。
スペースおよび非 ASCII 文字を含む変数名など、無効な MATLAB 識別子を変数名としてサポートするには、VariableNamingRule パラメーターの値を "preserve" に設定します。
ReadVariableNames が false の場合、VariableNames は既定値の ["Var1","Var2", ...] になります。
例: ["Time","Date","Quantity"]
データ型: char | cell | string
ファイルから読み取る変数。文字ベクトルの cell 配列または string 配列として指定します。各文字ベクトルまたは string は 1 つの変数の名前を含みます。変数名は任意の順序で指定できます。
スペースおよび非 ASCII 文字を含む変数名など、無効な MATLAB 識別子を変数名としてサポートするには、VariableNamingRule パラメーターの値を "preserve" に設定します。
例: ["Var3","Var7","Var4"]
データ型: cell | string
行時間変数の名前。"RowTimes" と変数名 ("Date" など) または変数インデックス (3 など) で構成される名前と値の引数として指定します。
RowTimes は timetable に関連するパラメーターです。timetable の各行は、timetable の時間ベクトルに記録されている時間に関連付けられます。RowTimes 内に指定される変数は、datetime ベクトルまたは duration ベクトルを含まなければなりません。
"OutputType" の値が "timetable" だが "RowTimes" を指定しない場合、ParquetDatastore は、最初の datetime 変数または duration 変数を timetable の行時間として使用します。
この プロパティ は読み取り専用です。
書き込みでサポートされる形式。string の行ベクトルとして返されます。このプロパティは、writeall を使用してデータストアから出力ファイルを書き込む際に使用可能な出力形式を指定します。
この プロパティ は読み取り専用です。
既定の出力形式。string スカラーとして返されます。このプロパティは、writeall を使用してデータストアから出力ファイルを書き込む際の既定の形式を指定します。
データ型: string
オブジェクト関数
hasdata | データが読み取り可能かどうかを判別 |
numpartitions | データストアの区画数 |
partition | データストアを分割する |
preview | データストア内のデータのサブセットをプレビュー |
read | データストアのデータの読み取り |
readall | データストアのすべてのデータの読み取り |
writeall | ファイルへのデータストアの書き込み |
reset | データストアの初期状態へのリセット |
transform | データストアの変換 |
combine | 複数のデータストアのデータを統合 |
isPartitionable | データストアが分割可能かどうかを判別 |
isSubsettable | Determine whether datastore is subsettable |
isShuffleable | データストアがシャッフル可能かどうかを判別 |
例
FileSet オブジェクトまたはファイル パスを使用して parquetDatastore オブジェクトを作成します。
ファイル outages.parquet を含む FileSet オブジェクトを作成します。parquetDatastore オブジェクトを作成します。
fs = matlab.io.datastore.FileSet("outages.parquet");
pds = parquetDatastore(fs)pds =
ParquetDatastore with properties:
Files: {
'...\matlab\toolbox\matlab\demos\outages.parquet'
}
Folders: {
'...\matlab\toolbox\matlab\demos'
}
VariableNames: {1x6 cell}
SelectedVariableNames: {1x6 cell}
ReadSize: 'rowgroup'
OutputType: 'table'
RowTimes: []
AlternateFileSystemRoots: {}
SupportedOutputFormats: ["txt" "csv" "xlsx" "xls" ... ]
DefaultOutputFormat: "parquet"
VariableNamingRule: 'modify'
代わりに、ファイル パスを使用して parquetDatastore オブジェクトを作成することもできます。
pds = parquetDatastore("outages.parquet");サンプルの Parquet ファイルのデータストアを作成してから、異なる ReadSize 値を指定してファイルからデータを読み取ります。
outages.parquet のデータストアを作成し、ReadSize を 10 行に設定して、データストアから読み取ります。ReadSize 値により、関数 read の呼び出しごとにデータストアから読み取られるデータ行数が決まります。
pds = parquetDatastore("outages.parquet","ReadSize",10); read(pds)
ans=10×6 table
Region OutageTime Loss Customers RestorationTime Cause
___________ ____________________ ______ __________ ____________________ _________________
"SouthWest" 01-Feb-2002 12:18:00 458.98 1.8202e+06 07-Feb-2002 16:50:00 "winter storm"
"SouthEast" 23-Jan-2003 00:49:00 530.14 2.1204e+05 NaT "winter storm"
"SouthEast" 07-Feb-2003 21:15:00 289.4 1.4294e+05 17-Feb-2003 08:14:00 "winter storm"
"West" 06-Apr-2004 05:44:00 434.81 3.4037e+05 06-Apr-2004 06:10:00 "equipment fault"
"MidWest" 16-Mar-2002 06:18:00 186.44 2.1275e+05 18-Mar-2002 23:23:00 "severe storm"
"West" 18-Jun-2003 02:49:00 0 0 18-Jun-2003 10:54:00 "attack"
"West" 20-Jun-2004 14:39:00 231.29 NaN 20-Jun-2004 19:16:00 "equipment fault"
"West" 06-Jun-2002 19:28:00 311.86 NaN 07-Jun-2002 00:51:00 "equipment fault"
"NorthEast" 16-Jul-2003 16:23:00 239.93 49434 17-Jul-2003 01:12:00 "fire"
"MidWest" 27-Sep-2004 11:09:00 286.72 66104 27-Sep-2004 16:37:00 "equipment fault"
ReadSize プロパティの値を "file" に設定して、データストアから読み取ります。関数 read を呼び出すたびに、データストアからすべてのデータが読み取られます。
pds.ReadSize ="file";
data = read(pds)data=1468×6 table
Region OutageTime Loss Customers RestorationTime Cause
___________ ____________________ ______ __________ ____________________ _________________
"SouthWest" 01-Feb-2002 12:18:00 458.98 1.8202e+06 07-Feb-2002 16:50:00 "winter storm"
"SouthEast" 23-Jan-2003 00:49:00 530.14 2.1204e+05 NaT "winter storm"
"SouthEast" 07-Feb-2003 21:15:00 289.4 1.4294e+05 17-Feb-2003 08:14:00 "winter storm"
"West" 06-Apr-2004 05:44:00 434.81 3.4037e+05 06-Apr-2004 06:10:00 "equipment fault"
"MidWest" 16-Mar-2002 06:18:00 186.44 2.1275e+05 18-Mar-2002 23:23:00 "severe storm"
"West" 18-Jun-2003 02:49:00 0 0 18-Jun-2003 10:54:00 "attack"
"West" 20-Jun-2004 14:39:00 231.29 NaN 20-Jun-2004 19:16:00 "equipment fault"
"West" 06-Jun-2002 19:28:00 311.86 NaN 07-Jun-2002 00:51:00 "equipment fault"
"NorthEast" 16-Jul-2003 16:23:00 239.93 49434 17-Jul-2003 01:12:00 "fire"
"MidWest" 27-Sep-2004 11:09:00 286.72 66104 27-Sep-2004 16:37:00 "equipment fault"
"SouthEast" 05-Sep-2004 17:48:00 73.387 36073 05-Sep-2004 20:46:00 "equipment fault"
"West" 21-May-2004 21:45:00 159.99 NaN 22-May-2004 04:23:00 "equipment fault"
"SouthEast" 01-Sep-2002 18:22:00 95.917 36759 01-Sep-2002 19:12:00 "severe storm"
"SouthEast" 27-Sep-2003 07:32:00 NaN 3.5517e+05 04-Oct-2003 07:02:00 "severe storm"
"West" 12-Nov-2003 06:12:00 254.09 9.2429e+05 17-Nov-2003 02:04:00 "winter storm"
"NorthEast" 18-Sep-2004 05:54:00 0 0 NaT "equipment fault"
⋮
ReadSize プロパティの値を "rowgroup" に設定することもできます。詳細については、ParquetDatastore オブジェクトのリファレンス ページの ReadSize プロパティを参照してください。
OutputType および RowTimes の名前と値のペアを使用して、ParquetDatastore から table ではなく timetable が返されるようにします。
airlinesmall.parquet のデータストアを作成します。名前と値の引数 "OutputType" を "timetable" に指定します。
pds = parquetDatastore("airlinesmall.parquet","OutputType","timetable"); preview(pds)
ans=12500×26 timetable
Date DayOfWeek DepTime CRSDepTime ArrTime CRSArrTime UniqueCarrier FlightNum TailNum ActualElapsedTime CRSElapsedTime AirTime ArrDelay DepDelay Origin Dest Distance TaxiIn TaxiOut Cancelled CancellationCode Diverted CarrierDelay WeatherDelay NASDelay SecurityDelay LateAircraftDelay
___________ _________ ____________________ ____________________ ____________________ ____________________ _____________ _________ _______ _________________ ______________ _______ ________ ________ ______ _____ ________ _______ _______ _________ ________________ ________ ____________ ____________ ________ _____________ _________________
21-Oct-1987 3 21-Oct-1987 06:42:00 21-Oct-1987 06:30:00 21-Oct-1987 07:35:00 21-Oct-1987 07:27:00 "PS" 1503 "NA" 3180 sec 3420 sec NaN sec 480 sec 720 sec "LAX" "SJC" 308 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
26-Oct-1987 1 26-Oct-1987 10:21:00 26-Oct-1987 10:20:00 26-Oct-1987 11:24:00 26-Oct-1987 11:16:00 "PS" 1550 "NA" 3780 sec 3360 sec NaN sec 480 sec 60 sec "SJC" "BUR" 296 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
23-Oct-1987 5 23-Oct-1987 20:55:00 23-Oct-1987 20:35:00 23-Oct-1987 22:18:00 23-Oct-1987 21:57:00 "PS" 1589 "NA" 4980 sec 4920 sec NaN sec 1260 sec 1200 sec "SAN" "SMF" 480 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
23-Oct-1987 5 23-Oct-1987 13:32:00 23-Oct-1987 13:20:00 23-Oct-1987 14:31:00 23-Oct-1987 14:18:00 "PS" 1655 "NA" 3540 sec 3480 sec NaN sec 780 sec 720 sec "BUR" "SJC" 296 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
22-Oct-1987 4 22-Oct-1987 06:29:00 22-Oct-1987 06:30:00 22-Oct-1987 07:46:00 22-Oct-1987 07:42:00 "PS" 1702 "NA" 4620 sec 4320 sec NaN sec 240 sec -60 sec "SMF" "LAX" 373 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
28-Oct-1987 3 28-Oct-1987 14:46:00 28-Oct-1987 13:43:00 28-Oct-1987 15:47:00 28-Oct-1987 14:48:00 "PS" 1729 "NA" 3660 sec 3900 sec NaN sec 3540 sec 3780 sec "LAX" "SJC" 308 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
08-Oct-1987 4 08-Oct-1987 09:28:00 08-Oct-1987 09:30:00 08-Oct-1987 10:52:00 08-Oct-1987 10:49:00 "PS" 1763 "NA" 5040 sec 4740 sec NaN sec 180 sec -120 sec "SAN" "SFO" 447 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
10-Oct-1987 6 10-Oct-1987 08:59:00 10-Oct-1987 09:00:00 10-Oct-1987 11:34:00 10-Oct-1987 11:23:00 "PS" 1800 "NA" 9300 sec 8580 sec NaN sec 660 sec -60 sec "SEA" "LAX" 954 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
20-Oct-1987 2 20-Oct-1987 18:33:00 20-Oct-1987 18:30:00 20-Oct-1987 19:29:00 20-Oct-1987 19:26:00 "PS" 1831 "NA" 3360 sec 3360 sec NaN sec 180 sec 180 sec "LAX" "SJC" 308 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
15-Oct-1987 4 15-Oct-1987 10:41:00 15-Oct-1987 10:40:00 15-Oct-1987 11:57:00 15-Oct-1987 11:55:00 "PS" 1864 "NA" 4560 sec 4500 sec NaN sec 120 sec 60 sec "SFO" "LAS" 414 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
15-Oct-1987 4 15-Oct-1987 16:08:00 15-Oct-1987 15:53:00 15-Oct-1987 16:56:00 15-Oct-1987 16:40:00 "PS" 1907 "NA" 2880 sec 2820 sec NaN sec 960 sec 900 sec "LAX" "FAT" 209 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
21-Oct-1987 3 21-Oct-1987 09:49:00 21-Oct-1987 09:40:00 21-Oct-1987 10:55:00 21-Oct-1987 10:52:00 "PS" 1939 "NA" 3960 sec 4320 sec NaN sec 180 sec 540 sec "LGB" "SFO" 354 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
22-Oct-1987 4 22-Oct-1987 19:02:00 22-Oct-1987 18:47:00 22-Oct-1987 20:30:00 22-Oct-1987 19:51:00 "PS" 1973 "NA" 5280 sec 3840 sec NaN sec 2340 sec 900 sec "LAX" "OAK" 337 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
16-Oct-1987 5 16-Oct-1987 19:10:00 16-Oct-1987 18:38:00 16-Oct-1987 20:52:00 16-Oct-1987 19:55:00 "TW" 19 "NA" 9720 sec 8220 sec NaN sec 3420 sec 1920 sec "STL" "DEN" 770 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
02-Oct-1987 5 02-Oct-1987 11:30:00 02-Oct-1987 11:33:00 02-Oct-1987 12:37:00 02-Oct-1987 12:37:00 "TW" 59 "NA" 11220 sec 11040 sec NaN sec 0 sec -180 sec "STL" "PHX" 1262 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
30-Oct-1987 5 30-Oct-1987 14:00:00 30-Oct-1987 14:00:00 30-Oct-1987 19:20:00 30-Oct-1987 19:34:00 "TW" 102 "NA" 12000 sec 12840 sec NaN sec -840 sec 0 sec "SNA" "STL" 1570 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
⋮
"RowTimes" を併せて指定しない場合、parquetDatastore は、最初の datetime 変数または duration 変数を行時間として使用します。この場合は、変数 Date が行時間に使用されます。
"RowTimes" オプションを指定して、フライト日ではなく到着時間 (ArrTime) を行時間として使用します。
pds = parquetDatastore("airlinesmall.parquet","OutputType","timetable","RowTimes","ArrTime"); preview(pds)
ans=12500×26 timetable
ArrTime Date DayOfWeek DepTime CRSDepTime CRSArrTime UniqueCarrier FlightNum TailNum ActualElapsedTime CRSElapsedTime AirTime ArrDelay DepDelay Origin Dest Distance TaxiIn TaxiOut Cancelled CancellationCode Diverted CarrierDelay WeatherDelay NASDelay SecurityDelay LateAircraftDelay
____________________ ___________ _________ ____________________ ____________________ ____________________ _____________ _________ _______ _________________ ______________ _______ ________ ________ ______ _____ ________ _______ _______ _________ ________________ ________ ____________ ____________ ________ _____________ _________________
21-Oct-1987 07:35:00 21-Oct-1987 3 21-Oct-1987 06:42:00 21-Oct-1987 06:30:00 21-Oct-1987 07:27:00 "PS" 1503 "NA" 3180 sec 3420 sec NaN sec 480 sec 720 sec "LAX" "SJC" 308 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
26-Oct-1987 11:24:00 26-Oct-1987 1 26-Oct-1987 10:21:00 26-Oct-1987 10:20:00 26-Oct-1987 11:16:00 "PS" 1550 "NA" 3780 sec 3360 sec NaN sec 480 sec 60 sec "SJC" "BUR" 296 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
23-Oct-1987 22:18:00 23-Oct-1987 5 23-Oct-1987 20:55:00 23-Oct-1987 20:35:00 23-Oct-1987 21:57:00 "PS" 1589 "NA" 4980 sec 4920 sec NaN sec 1260 sec 1200 sec "SAN" "SMF" 480 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
23-Oct-1987 14:31:00 23-Oct-1987 5 23-Oct-1987 13:32:00 23-Oct-1987 13:20:00 23-Oct-1987 14:18:00 "PS" 1655 "NA" 3540 sec 3480 sec NaN sec 780 sec 720 sec "BUR" "SJC" 296 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
22-Oct-1987 07:46:00 22-Oct-1987 4 22-Oct-1987 06:29:00 22-Oct-1987 06:30:00 22-Oct-1987 07:42:00 "PS" 1702 "NA" 4620 sec 4320 sec NaN sec 240 sec -60 sec "SMF" "LAX" 373 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
28-Oct-1987 15:47:00 28-Oct-1987 3 28-Oct-1987 14:46:00 28-Oct-1987 13:43:00 28-Oct-1987 14:48:00 "PS" 1729 "NA" 3660 sec 3900 sec NaN sec 3540 sec 3780 sec "LAX" "SJC" 308 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
08-Oct-1987 10:52:00 08-Oct-1987 4 08-Oct-1987 09:28:00 08-Oct-1987 09:30:00 08-Oct-1987 10:49:00 "PS" 1763 "NA" 5040 sec 4740 sec NaN sec 180 sec -120 sec "SAN" "SFO" 447 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
10-Oct-1987 11:34:00 10-Oct-1987 6 10-Oct-1987 08:59:00 10-Oct-1987 09:00:00 10-Oct-1987 11:23:00 "PS" 1800 "NA" 9300 sec 8580 sec NaN sec 660 sec -60 sec "SEA" "LAX" 954 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
20-Oct-1987 19:29:00 20-Oct-1987 2 20-Oct-1987 18:33:00 20-Oct-1987 18:30:00 20-Oct-1987 19:26:00 "PS" 1831 "NA" 3360 sec 3360 sec NaN sec 180 sec 180 sec "LAX" "SJC" 308 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
15-Oct-1987 11:57:00 15-Oct-1987 4 15-Oct-1987 10:41:00 15-Oct-1987 10:40:00 15-Oct-1987 11:55:00 "PS" 1864 "NA" 4560 sec 4500 sec NaN sec 120 sec 60 sec "SFO" "LAS" 414 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
15-Oct-1987 16:56:00 15-Oct-1987 4 15-Oct-1987 16:08:00 15-Oct-1987 15:53:00 15-Oct-1987 16:40:00 "PS" 1907 "NA" 2880 sec 2820 sec NaN sec 960 sec 900 sec "LAX" "FAT" 209 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
21-Oct-1987 10:55:00 21-Oct-1987 3 21-Oct-1987 09:49:00 21-Oct-1987 09:40:00 21-Oct-1987 10:52:00 "PS" 1939 "NA" 3960 sec 4320 sec NaN sec 180 sec 540 sec "LGB" "SFO" 354 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
22-Oct-1987 20:30:00 22-Oct-1987 4 22-Oct-1987 19:02:00 22-Oct-1987 18:47:00 22-Oct-1987 19:51:00 "PS" 1973 "NA" 5280 sec 3840 sec NaN sec 2340 sec 900 sec "LAX" "OAK" 337 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
16-Oct-1987 20:52:00 16-Oct-1987 5 16-Oct-1987 19:10:00 16-Oct-1987 18:38:00 16-Oct-1987 19:55:00 "TW" 19 "NA" 9720 sec 8220 sec NaN sec 3420 sec 1920 sec "STL" "DEN" 770 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
02-Oct-1987 12:37:00 02-Oct-1987 5 02-Oct-1987 11:30:00 02-Oct-1987 11:33:00 02-Oct-1987 12:37:00 "TW" 59 "NA" 11220 sec 11040 sec NaN sec 0 sec -180 sec "STL" "PHX" 1262 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
30-Oct-1987 19:20:00 30-Oct-1987 5 30-Oct-1987 14:00:00 30-Oct-1987 14:00:00 30-Oct-1987 19:34:00 "TW" 102 "NA" 12000 sec 12840 sec NaN sec -840 sec 0 sec "SNA" "STL" 1570 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
⋮
RowFilter プロパティを使用してデータ セットから行を条件付きで選択します。
outages.parquet ファイルを使用して Parquet データストアを作成します。データストアの最初の 8 行を表示します。
pds = parquetDatastore("outages.parquet");
preview(pds)ans=8×6 table
Region OutageTime Loss Customers RestorationTime Cause
___________ ____________________ ______ __________ ____________________ _________________
"SouthWest" 01-Feb-2002 12:18:00 458.98 1.8202e+06 07-Feb-2002 16:50:00 "winter storm"
"SouthEast" 23-Jan-2003 00:49:00 530.14 2.1204e+05 NaT "winter storm"
"SouthEast" 07-Feb-2003 21:15:00 289.4 1.4294e+05 17-Feb-2003 08:14:00 "winter storm"
"West" 06-Apr-2004 05:44:00 434.81 3.4037e+05 06-Apr-2004 06:10:00 "equipment fault"
"MidWest" 16-Mar-2002 06:18:00 186.44 2.1275e+05 18-Mar-2002 23:23:00 "severe storm"
"West" 18-Jun-2003 02:49:00 0 0 18-Jun-2003 10:54:00 "attack"
"West" 20-Jun-2004 14:39:00 231.29 NaN 20-Jun-2004 19:16:00 "equipment fault"
"West" 06-Jun-2002 19:28:00 311.86 NaN 07-Jun-2002 00:51:00 "equipment fault"
Region が "NorthEast" で Cause が "winter storm" の行を特定する行フィルターを作成します。次に、データストアの RowFilter プロパティをフィルターに設定します。データストアのプレビューを表示します。データストアには、フィルター条件を満たしている行のみが含まれていることに注意してください。
rf = rowfilter(pds); filter = rf.Region == "NorthEast" & rf.Cause == "winter storm"; pds.RowFilter = filter; preview(pds)
ans=8×6 table
Region OutageTime Loss Customers RestorationTime Cause
___________ ____________________ ______ __________ ____________________ ______________
"NorthEast" 13-Nov-2004 10:42:00 NaN 1.4227e+05 19-Nov-2004 02:31:00 "winter storm"
"NorthEast" 26-Dec-2004 22:18:00 255.45 1.0444e+05 27-Dec-2004 14:11:00 "winter storm"
"NorthEast" 17-Dec-2003 15:11:00 NaN 66692 19-Dec-2003 07:22:00 "winter storm"
"NorthEast" 28-Jan-2005 18:20:00 401.39 89683 29-Jan-2005 02:36:00 "winter storm"
"NorthEast" 04-Feb-2005 00:53:00 32.061 46182 09-Feb-2005 02:42:00 "winter storm"
"NorthEast" 16-Nov-2006 10:04:00 147.25 1.2571e+05 17-Nov-2006 10:55:00 "winter storm"
"NorthEast" 03-Feb-2007 02:19:00 293.83 1.1628e+05 04-Feb-2007 21:24:00 "winter storm"
"NorthEast" 18-Feb-2008 05:24:00 353.29 64687 20-Feb-2008 08:56:00 "winter storm"
制限
parquetreadまたはparquetDatastoreを使用してファイルを読み取る場合、結果の形式または内容は元の table と異なる可能性があります。詳細については、Apache Parquet データ型のマッピングを参照してください。NULL 値を double に置き換える
parquetreadとは異なり、parquetDatastoreは NULL 整数値を0に、NULL ブール値をfalseに置き換えます。この置き換えのため、非可逆の変換になります。MATLAB では、認証が必要なインターネット URL はサポートされていません。
MATLAB Online™ では Microsoft® OneDrive™ ファイルおよびフォルダーに関連付けられたインターネット URL はサポートされていますが、MATLAB のインストール バージョンではローカル OneDrive ファイルのみがサポートされています。
拡張機能
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
バージョン履歴
R2019a で導入複数のリモート ファイルからデータストアを作成できます。URL の任意の部分にワイルドカード文字を使用して複数のリモート ファイルを指定します。
インターネット URL を介してデータストア操作を実行することで、主要なオンライン ソースからデータを読み取ることができます。
並列環境では、分割ユニットと分割ブロックのサイズを指定して、より効率的に ParquetDatastore を作成できます。データストアの作成時に名前と値の引数 PartitionMethod および Blocksize を指定します。
Parquet ファイルの構造化データを入れ子の table として読み取ります。
この関数はスレッドベースの環境をサポートしています。
parquetread および parquetDatastore を使用する際に Parquet ファイルからデータを条件付きでフィルター処理し、より高速に読み取ります (述語プッシュダウン)。関数 rowfilter、matlab.io.RowFilter オブジェクト、および名前と値の引数 RowFilter を使用して、フィルター処理の条件を作成できます。
parquetDatastore はデータストアに含めるファイルの場所として FileSet オブジェクトを受け入れます。FileSet オブジェクトにより、ファイル パスや DsFileSet オブジェクトと比べてパフォーマンスが向上します。
categorical データ型が含まれた Parquet データを使用します。
スペースや非 ASCII 文字を含め、任意の Unicode 文字が含まれた変数名をもつ表形式データを使用します。
参考
mapreduce | tall | parquetread | parquetinfo | rowfilter
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)