このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
Apache Parquet データ型のマッピング
MATLAB® は、列方向のデータを table と timetable で表します。table または timetable の各変数に、それぞれ異なるデータ型と任意数の列を使用できます。table および timetable の変数の形状としては列ベクトルが最も一般的です。
Apache® Parquet ファイル形式は、列方向の異種混合データに使用されます。MATLAB table や timetable と同様に、Parquet ファイルでは列ごとにデータ型が異なっていても構いません。MATLAB の Parquet 関数は、Apache Arrow 機能を使用して Parquet ファイルの読み取りと書き込みを行います。MATLAB は、元の Arrow テーブル スキーマをカスタム メタデータとして Parquet ファイルに保存します。Arrow は元のテーブル スキーマを使用して、特定のデータ型をラウンドトリップします。
類似点はありますが、MATLAB table および timetable で許可されるデータ型が、Parquet ファイルで許可されるデータ型に完全にマッピングされないことがあります。場合によっては、MATLAB がデータ内の情報 (欠損値など) を保持するためにはデータ型変換の実行が必要となります。この変換の結果、データの精度が失われることがあります。
一般に、MATLAB table および timetable を Parquet ファイルに変換すると、次のように動作します。
元の table に設定されていたテーブル プロパティは保存されない。
table の行名または timetable の行時間は、新しいテーブル変数に変換してから書き込まれる。
Parquet ファイルから変数名を読み取るときに、無効なテーブル変数名は有効なテーブル変数名に変換される。
Parquet ファイルは少数のプリミティブ (または "物理") データ型を使用します。"論理" 型は、その解釈方法を指定することにより、物理型を拡張します。ここに一覧されていない Parquet データ型は、Parquet ファイル (JSON、BSON、バイナリなど) の読み取りや書き込みではサポートされません。
次の表は、MATLAB table および timetable で表現可能なデータ型と、それらのデータ型が Apache Arrow および Parquet ファイルの対応する型にどのようにマッピングされるかをまとめています。
数値データ型
Apache Parquet から MATLAB への数値データ型の読み取り
Apache Parquet のデータ型 | Apache Arrow のデータ型 | MATLAB table または timetable の変数の型 | メモ | |
---|---|---|---|---|
論理型 | 物理型 | |||
なし |
|
|
|
|
なし |
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
| |
|
|
|
| |
なし |
|
|
| |
|
|
|
| |
|
|
|
| |
|
|
|
| |
なし |
|
|
|
|
MATLAB から Apache Parquet への数値データ型の書き込み
MATLAB table または timetable の変数の型 | Apache Arrow のデータ型 | Apache Parquet のデータ型 | メモ | |
---|---|---|---|---|
論理型 | 物理型 | |||
double |
| なし |
|
|
|
| なし |
| |
|
|
|
| –– |
|
|
|
| — |
|
|
|
| — |
|
|
|
| — |
|
| なし |
| — |
|
|
|
| — |
|
|
|
| — |
|
|
|
| — |
|
| なし |
| — |
バイナリ データ型
Apache Parquet から MATLAB へのバイナリ データ型の読み取り
Apache Parquet のデータ型 | Apache Arrow のデータ型 | MATLAB table または timetable の変数の型 | メモ | |
---|---|---|---|---|
論理型 | 物理型 | |||
|
|
|
| — |
|
|
|
|
|
なし |
| FixedSizeBinary(byte_width) |
| — |
なし |
| バイナリ |
| — |
MATLAB から Apache Parquet へのバイナリ データ型の書き込み
MATLAB table または timetable の変数の型 | Apache Arrow のデータ型 | Apache Parquet のデータ型 | メモ | |
---|---|---|---|---|
論理型 | 物理型 | |||
|
|
|
|
|
|
|
|
| |
|
|
|
| |
|
|
|
| — |
日付と時刻のデータ型
Apache Parquet から MATLAB への日付と時刻データ型の読み取り
Apache Parquet のデータ型 | Apache Arrow のデータ型 | MATLAB table または timetable の変数の型 | メモ | |
---|---|---|---|---|
論理型 | 物理型 | |||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| INT64 |
|
|
|
MATLAB から Apache Parquet への日付と時刻データ型の書き込み
MATLAB table または timetable の変数の型 | Apache Arrow のデータ型 | Apache Parquet のデータ型 | メモ | |
---|---|---|---|---|
論理型 | 物理型 | |||
|
|
|
|
|
|
|
|
|
|
入れ子にされたデータ
入れ子にされた table と入れ子にされた timetable を Parquet ファイルに書き込むには、parquetwrite
を使用します。入れ子にされた構造化 Parquet ファイル データをインポートするには、parquetread
を使用します。
Apache Parquet から MATLAB への入れ子にされた型の読み取り
Apache Parquet のデータ型 | Apache Arrow のデータ型 | MATLAB table または timetable の変数の型 | メモ | |
---|---|---|---|---|
論理型 | 物理型 | |||
| 任意 |
| cell |
|
任意の長さのタプル構成をもつ LIST | 任意 | 任意の長さのタプル構成をもつ | 入れ子にされた table |
|
MATLAB から Parquet への入れ子にされた型の書き込み
MATLAB table または timetable の変数の型 | Apache Arrow のデータ型 | Apache Parquet のデータ型 | メモ | |
---|---|---|---|---|
論理型 | 物理型 | |||
cell |
|
| 任意 |
|
入れ子にされた table |
|
| 任意 |
|
入れ子にされた timetable |
|
| 任意 |
|