exponenta event banner

Сопоставления типов данных паркета Apache

MATLAB ® представляет данные, ориентированные на столбцы, с таблицами и расписаниями. Каждая переменная в таблице или расписании может иметь различный тип данных и любое количество столбцов. Векторы столбцов являются наиболее распространенной формой переменных таблицы и расписания.

Формат файла Паркета Apache™ используется для ориентированных на колонку разнородных данных. Подобно таблицам и расписаниям MATLAB, каждый из столбцов в файле Parquet может иметь различные типы данных.

Несмотря на их сходство, разрешенные типы данных в таблицах и расписаниях MATLAB не всегда полностью соответствуют разрешенным типам данных в файлах Parquet. В некоторых случаях MATLAB необходимо выполнить преобразования типов данных для сохранения информации в данных (например, отсутствующих значений). Такое преобразование иногда может привести к потере точности данных.

Как правило, таблицы и расписания MATLAB имеют следующие варианты поведения при преобразовании в файлы Parquet:

  • Свойства таблицы, заданные в исходной таблице, не сохраняются.

  • Имена строк таблицы или время строк расписания преобразуются в новую переменную таблицы перед записью.

  • При чтении имени переменной из файла Parquet недопустимые имена табличных переменных преобразуются в допустимые имена табличных переменных.

В следующих таблицах приведены сводные данные о представимых типах данных в таблицах и расписаниях MATLAB, а также о том, как эти переменные представлены в файлах Parquet. Эти сопоставления типов данных могут выполняться в обоих направлениях (MATLAB → Parquet and Parquet → MATLAB), если не указано иное. Файлы паркета используют небольшое количество примитивных (или физических) типов данных. Логические типы расширяют физические типы, указывая способ их интерпретации. Типы данных паркета, не охваченные здесь, не поддерживаются для чтения или записи в файлы паркета (JSON, BSON, двоичные файлы и т. д.).

Числовые типы данных

Таблица MATLAB или тип переменной расписанияТип данных Apache ParquetПримечания

Физический тип

Логический тип

double

DOUBLE

NONE

MATLAB преобразует любые отсутствующие числа с плавающей запятой в файле паркета в 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 тип содержит отсутствующие значения, затем массив преобразуется в MATLAB double вместо типа данных logical тип данных. Отсутствующие значения имеют значение NaN.

Текстовые типы данных

Таблица MATLAB или тип переменной расписанияТип данных Apache ParquetПримечания

Физический тип

Логический тип

categorical

BYTE_ARRAY

UTF8

string, char, и cellstr сопоставлены одному типу данных Parquet, и этот тип данных всегда считывается в MATLAB как строковый массив.

string

char

cellstr (массив ячеек символьных векторов)

Типы данных даты и времени

Таблица MATLAB или тип переменной расписанияТип данных Apache ParquetПримечания

Физический тип

Логический тип

datetime

INT32

DATE

Массивы datetime MATLAB, записанные в паркетный файл TIMESTAMP_MICROS и имеют точность, усеченную до 1 микросекунды. Параметры формата отображения не сохранены.

INT64

TIMESTAMP_MILLIS

TIMESTAMP_MICROS

duration

INT32

TIME_MILLIS

Массивы длительности MATLAB, записанные в паркетный файл TIME_MICROS и имеют точность, усеченную до 1 микросекунды. Параметры формата отображения не сохранены.

INT64

TIME_MICROS

См. также

| |