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

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

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

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

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

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

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

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

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

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

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

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

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

double

DOUBLE

NONE

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

single

FLOAT

NONE

int8

INT32

INT_8

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

При чтении файла Паркета, если массив с типом BOOLEAN содержит отсутствующие значения, то массив преобразован в тип данных double MATLAB вместо типа данных logical. Отсутствующие значения установлены к NaN.

Типы данных text

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

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

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

categorical

BYTE_ARRAY

UTF8

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

string

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

char

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

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

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

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

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

datetime

INT32

DATE

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

INT64

TIMESTAMP_MILLIS

TIMESTAMP_MICROS

duration

INT32

TIME_MILLIS

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

INT64

TIME_MICROS

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

| |