Работа с данными Microsoft Excel
Веб-интерфейс YTsaurus позволяет загружать небольшие Microsoft Excel таблицы в статические таблицы YTsaurus, а также выгружать данные статических таблиц со строгой схемой в виде таблиц Microsoft Excel.
Загрузка в новую таблицу
Чтобы загрузить данные с одновременным созданием YTsaurus таблицы, следует нажать кнопку Create object на странице директории. Из выпадающего меню выбрать Upload xlsx.
В меню загрузки важно установить правильные значения переключателей Column names и Types.
Включенный Column names соответствует наличию имён колонок в первой строке Excel таблицы. Если в таблице нет заголовка, в качестве имён колонок YTsaurus таблицы будут использоваться имена колонок из Excel: A, B, C и т. д.
Включенный Types соответствует наличию строки с типами. Строка с типами должна идти за строкой с именами колонок (при её наличии). Типы задаются в формате type
(смотрите соответствие типов).
Внимание
Если типы не заданы, для всех колонок будет использоваться any
.
Загрузка в существующую таблицу
Чтобы загрузить данные в существующую YTsaurus таблицу, следует нажать кнопку Upload на странице таблицы.
Внимание
Колонки из схемы YTsaurus таблицы должны обязательно присутствовать в Excel таблице. Дополнительные колонки Excel таблицы будут проигнорированы.
В меню загрузки с помощью переключателя Append можно выбрать режим загрузки. Включенное значение соответствует дописыванию строк в конец YTsaurus таблицы, выключенное — перезаписыванию таблицы.
Ограничения загрузки
- Загружается только первый лист Excel таблицы;
- Максимальное число строк —
1048576
; - Максимальное число столбцов —
16384
; - Максимальный размер входного файла — 50 Mb.
Скачивание
Интерфейс позволяет указать интересующее подмножество строк и колонок.
В первой строке результата будут названия колонок, во второй — их типы.
Ограничения
- Статические таблицы со строгой схемой;
- Максимальное число строк —
1048574
; - Максимальное число колонок —
16384
; - Максимальный размер выходного файла — 50 Mb;
- Максимальная длина строки в ячейке —
32767
; строки длиннее32767
обрезаются.
Соответствие типов
В Microsoft Excel поддерживается 4 типа данных: Logical
, Number
, Text
, Error
.
Описание типа данных YTsaurus | Представление в type |
Представление в type_v3 |
Представление в Excel |
---|---|---|---|
Целое число в диапазоне [-2^63, 2^63-1] |
int64 |
int64 |
Number* |
Целое число в диапазоне [-2^31, 2^31-1] |
int32 |
int32 |
Number |
Целое число в диапазоне [-2^15, 2^15-1] |
int16 |
int16 |
Number |
Целое число в диапазоне [-2^7, 2^7-1] |
int8 |
int8 |
Number |
Целое число в диапазоне [0, 2^64-1] |
uint64 |
uint64 |
Number* |
Целое число в диапазоне [0, 2^32-1] |
uint32 |
uint32 |
Number |
Целое число в диапазоне [0, 2^16-1] |
uint16 |
uint16 |
Number |
Целое число в диапазоне [0, 2^8-1] |
uint8 |
uint8 |
Number |
Вещественное 4-байтное число | float |
float |
Number* |
Вещественное 8-байтное число | double |
double |
Number* |
Стандартный булев тип true/false |
boolean |
bool (отличие от type ) |
Logical |
Произвольная последовательность байт | string |
string |
Text* |
Корректная UTF-8 последовательность | utf8 |
utf8 |
Text* |
Целое число в диапазоне [0, 49673 - 1] ,выражает число дней, прошедших с unix-эпохи; выражаемый диапазон дат: [1970-01-01, 2105-12-31] |
date |
date |
Number** |
Целое число в диапазоне [0, 49673 * 86400 - 1] ,выражает число секунд, прошедших с unix-эпохи; выражаемый диапазон времен: [1970-01-01T00:00:00Z, 2105-12-31T23:59:59Z] |
datetime |
datetime |
Number** |
Целое число в диапазоне [0, 49673 * 86400 * 10^6 - 1] ,выражает число микросекунд, прошедших с unix-эпохи; выражаемый диапазон времен: [1970-01-01T00:00:00Z, 2105-12-31T23:59:59.999999Z] |
timestamp |
timestamp |
Number*** |
Целое число в диапазоне[-49673 * 86400 * 10^6 + 1, 49673 * 86400 * 10^6 - 1] ,выражает число микросекунд между двумя таймстемпами |
interval |
interval |
Number* |
Произвольная YSON-структура, физически представляется последовательностью байт, не может иметь атрибут required=%true |
any |
yson (отличие от type ) |
Text** |
Number*
Number
— это Double-Precision Floating Point value.
В числе может быть только 15 цифр, при попытке вставить 99999999999999999
(10^17-1
) в ячейке появится 99999999999999900
.
Числа, не удовлетворяющие этому ограничению, экспортируются как строки.
Number**
Значение из YTsaurus таблицы будет записано в ячейку Excel таблицы с типом Number
, без потери точности. Значения с типом date
и datetime
экспортируются как Number
со специальными стилями отображения и в Excel выглядят следующим образом:
date
—2020-12-05
datetime
—2000-12-10 10:22:17
Number***
Значение может не поместиться в Number
.
Timestamp
с миллисекундным разрешением экспортируется в виде Number
со специальным стилем отображения (1969-12-30 00:00:00
), с меньшим — в виде строки формата: 2006-01-02T15:04:05.999999Z
.
Text*
Text
— это строковый тип. Максимальная длина строки в ячейке — 32768
.
В YTsaurus длина строки может быть больше (вплоть до 128 * 10^6
). Длинные строки обрезаются.
Text**
Значения сериализуются в YSON. Длинные строки, как и в Text*
, обрезаются.
Отсутствующие значения
Для optional
типов, в случае отсутствия значения, в ячейку будет записана пустая строка.