Отображения типа данных паркета Apache

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

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

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

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

  • Набор свойств таблицы на исходной таблице не сохранен.

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

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

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

Типы числовых данных

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

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

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

double

DOUBLE

NONE

MATLAB преобразует любые недостающие числа с плавающей запятой в файле Parquet в NaN значения.

single

FLOAT

NONE

int8

INT32

INT_8

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

Типы данных text

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

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

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

categorical

BYTE_ARRAY

UTF8

Категориальные массивы преобразованы в строковые массивы, когда записано в файлы Parquet. Любой <undefined> категориальные значения преобразованы в <missing> строки прежде чем быть записанным.

string

string'char', и cellstr все сопоставлены с тем же типом данных Паркета, и тот тип данных всегда читается в MATLAB как массив строк.

char

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

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

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

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

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

datetime

INT32

DATE

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

INT64

TIMESTAMP_MILLIS

TIMESTAMP_MICROS

duration

INT32

TIME_MILLIS

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

INT64

TIME_MICROS

Смотрите также

| |