Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

Apache Parquet データ型のマッピング

MATLAB® は、列方向のデータを table と timetable で表します。table または timetable の各変数に、それぞれ異なるデータ型と任意数の列を使用できます。table および timetable の変数の形状としては列ベクトルが最も一般的です。

Apache™ Parquet ファイル形式は、列方向の異種混合データに使用されます。MATLAB table や timetable と同様に、Parquet ファイルでは列ごとにデータ型が異なっていても構いません。

類似点はありますが、MATLAB table および timetable で許可されるデータ型が、Parquet ファイルで許可されるデータ型に常に完全にマッピングされるとは限りません。場合によっては、MATLAB がデータ内の情報 (欠損値など) を保持するためにはデータ型変換の実行が必要となります。この変換の結果、データの精度が失われることがあります。

一般に、MATLAB table および timetable を Parquet ファイルに変換すると、次のように動作します。

  • 元の table に設定されていたテーブル プロパティは保存されない。

  • table の行名または timetable の行時間は、新しいテーブル変数に変換してから書き込まれる。

  • Parquet ファイルから変数名を読み取るときに、無効なテーブル変数名は有効なテーブル変数名に変換される。

次の表は、MATLAB table および timetable で表現可能なデータ型と、それらの変数が Parquet ファイルでどのように表現されるかをまとめています。特に指定のない限り、これらのデータ型のマッピングは双方向 (MATLAB → Parquet および Parquet → MATLAB) に行うことができます。Parquet ファイルは少数のプリミティブ (または "物理") データ型を使用します。"論理" 型は、その解釈方法を指定することにより、物理型を拡張します。ここに一覧されていない Parquet データ型は、Parquet ファイル (JSON、BSON、バイナリなど) の読み取りや書き込みではサポートされません。

数値データ型

MATLAB table または timetable の変数の型Apache Parquet のデータ型メモ

物理型

論理型

double

DOUBLE

NONE

MATLAB は、Parquet ファイル内で欠損している浮動小数点数をすべて NaN 値に変換します。

single

FLOAT

NONE

int8

INT32

INT_8

Parquet ファイルを読み取るときに、整数型の配列に欠損値がある場合、配列が整数データ型ではなく MATLAB double データ型に変換されます。欠損値は NaN に設定されます。

64 ビット整数の場合、この変換によって flintmax より大きい値は切り捨てられる可能性があります。

uint8

UINT_8

int16

INT_16

uint16

UINT_16

int32

NONE

uint32

UINT_32

int64

INT64

NONE

uint64

UINT_64

logical

BOOLEAN

NONE

Parquet ファイルを読み取るときに、BOOLEAN 型を含む配列に欠損値がある場合、配列が logical データ型ではなく MATLAB double データ型に変換されます。欠損値は NaN に設定されます。

テキスト データ型

MATLAB table または timetable の変数の型Apache Parquet のデータ型メモ

物理型

論理型

categorical

BYTE_ARRAY

UTF8

categorical 配列は、Parquet ファイルへの書き込み時に文字列配列に変換されます。すべての <undefined> categorical 値は <missing> 文字列に変換してから書き込まれます。

string

stringchar および cellstr はすべて同じ Parquet データ型にマッピングされ、このデータ型は常に string 配列として MATLAB に読み込まれます。

char

cellstr (文字ベクトルの cell 配列)

日付と時刻のデータ型

MATLAB table または timetable の変数の型Apache Parquet のデータ型メモ

物理型

論理型

datetime

INT32

DATE

Parquet ファイルに書き込まれる MATLAB datetime 配列は TIMESTAMP_MICROS 形式を使用し、精度は 1 ミリ秒に切り捨てられます。表示形式の設定は保存されません。

INT64

TIMESTAMP_MILLIS

TIMESTAMP_MICROS

duration

INT32

TIME_MILLIS

Parquet ファイルに書き込まれる MATLAB duration 配列は TIME_MICROS 形式を使用し、精度は 1 ミリ秒に切り捨てられます。表示形式の設定は保存されません。

INT64

TIME_MICROS

参考

| |