Файлы QVD
Файл QVD (QlikView Data) — это файл, в котором содержится таблица данных, экспортируемых из программы Qlik Sense или QlikView. QVD является собственным форматом Qlik и может быть записан и прочтен только с помощью Qlik Sense или QlikView. Формат файла оптимизирован для скорости при чтении данных из скрипта Qlik Sense, но в то же время не занимает много места. Чтение данных из файла QVD обычно в 10–100 раз быстрее, чем чтение из других источников данных.
Файлы QVD можно читать в двух режимах: стандартном (быстром) и оптимизированном (сверхбыстром). Выбор режима выполняется обработчиком скриптов Qlik Sense автоматически. Оптимизированный режим может использоваться только в том случае, если все загруженные поля считываются без преобразований (формул, действующих на поля), но в то же время допускается изменение имен полей. Предложение Where в программе Qlik Sense управляет распаковкой записей и отключает оптимизированную загрузку.
Файл QVD содержит только одну таблицу данных и состоит из трех частей:
- Заголовок XML (в кодировке UTF-8), который описывает поля в таблице, макета последующей информации и некоторых прочих метаданных.
- Таблицы символов в формате, заполненном байтами.
- Фактические данные таблиц в формате, заполненном битами.
Файлы QVD используются для многих целей. Можно выделить четыре главных области назначения. В любой из этих ситуаций может использоваться несколько из них:
- Снижение нагрузки на серверы баз данных
- Консолидирование данных из нескольких приложений Qlik Sense.
- Инкрементальная загрузка
Объем данных, выбираемых из внешних источников данных, может также значительно сократиться. Это сокращает рабочую нагрузку на внешние базы данных и сетевой трафик. Более того, если несколько скриптов Qlik Sense совместно используют одни и те же данные, необходимо лишь один раз загрузить их из исходной базы данных в файл QVD. Другие приложения могут использовать те же данные с помощью файла QVD.
При работе с оператором скрипта Binary можно загрузить данные только из одного приложения Qlik Sense в другое, но с файлами QVD скрипт Qlik Sense может совместно использовать данные из любого числа приложений Qlik Sense. Это открывает возможности для приложений по консолидации похожих данных из разных подразделений компании и т. д.
Часто функции QVD могут использоваться для облегчения инкрементальной загрузки, то есть загрузки только новых записей из постоянно растущей базы данных.
Сведения о том, как сообщество Qlik использует Автоматизация приложения Qlik для сокращения времени загрузки QVD, см. в разделе Разбивка QVD с использованием автоматизации для оптимизации перезагрузок.
Создание файлов QVD
Для создания и наименования файла QVD можно использовать команду store в скрипте. Укажите в скрипте, что ранее считанную таблицу или ее часть необходимо экспортировать в явно названный файл в указанном вами местоположении.
Store
Этот оператор скрипта создает файл QVD, CSV, Parquet или TXT с заданным именем.
Синтаксис:
Оператор может экспортировать поля только из одной таблицы данных. Если требуется экспортировать поля из нескольких таблиц, необходимо заранее сформировать явное объединение в скрипте для создания таблицы данных, которую следует экспортировать.
Текстовые значения экспортируются в файл CSV в формате UTF-8. Можно указать разделитель. См. LOAD. Оператор store для файла CSV не поддерживает экспорт BIFF .
Примеры:
Выполните следующие действия.
- Откройте приложение Учебное пособие по написанию скриптов продвинутого уровня.
- Щелкните раздел скрипта Product.
- Добавьте следующее в конец данного скрипта:
- Щелкните команду Загрузить данные.
Store * from Product into [lib://DataFiles/ProductData.qvd](qvd);
Скрипт должен выглядеть следующим образом:
CrossTable(Month, Sales)
LOAD
Product,
"Jan 2014",
"Feb 2014",
"Mar 2014",
"Apr 2014",
"May 2014"
FROM [lib://DataFiles/Product.xlsx]
(ooxml, embedded labels, table is Product);
Store * from Product into [lib://DataFiles/ProductData.qvd](qvd);
В списке файлов должен появиться файл Product.qvd.
Этот файл данных является результатом скрипта Crosstable и представляет собой таблицу из трех столбцов, по одному столбцу для каждой категории (Product, Month, Sales). Этот файл данных теперь можно использовать для замены целого раздела скрипта Product .
Чтение данных из файлов QVD
Программа Qlik Sense может читать файл QVD или получать к нему доступ следующими способами:
- Загрузка файла QVD в качестве явного источника данных. Оператор load может ссылаться на файлы QVD в скрипте Qlik Sense, как на любые другие типы текстовых файлов (csv, fix, dif, biff и т. д.).
Примеры:
- Доступ к файлам QVD с помощью скрипта. Для получения различной информации о данных, находящихся в заголовке XML файла QVD может использоваться несколько функций скриптов (начинаются с QVD).
Выполните следующие действия.
- Закомментируйте весь скрипт в разделе скрипта Product.
- Введите следующий скрипт:
- Щелкните команду Загрузить данные.
Load * from [lib://DataFiles/ProductData.qvd](qvd);
Данные загружаются из файла QVD.
Спасибо!
Вы закончили обучение по данному учебному пособию. Надеемся, вы узнали много нового о написании скриптов в программе Qlik Sense. Чтобы получить информацию о дальнейших курсах обучения, посетите наш веб-сайт.