Работа с файлами QVD

Файл QVD (QlikView Data) — это файл, в котором содержится таблица данных, экспортируемых из программы Qlik Sense. QVD является собственным форматом Qlik и может быть записан и прочтен только с помощью Qlik Sense или QlikView. Формат файла оптимизирован для скорости при чтении данных из скрипта, но в то же время не занимает много места. Чтение данных из файла QVD обычно в 10–100 раз быстрее, чем чтение из других источников данных.

Файлы QVD можно читать в двух режимах: стандартном (быстром) и оптимизированном (сверхбыстром). Выбор режима выполняется обработчиком скриптов автоматически.

В отношении оптимизированных загрузок существуют некоторые ограничения. Поля можно переименовывать, однако при наличии какого-либо из упомянутых операторов оптимизированная загрузка будет выключена и запустится стандартная загрузка.

  • Любые преобразования загружаемых полей.
  • Использование предложения where, запускающего распаковку записей в Qlik Sense.
  • Применение команды Map к загружаемому полю.

Назначение файлов QVD

Файлы QVD можно использовать для разных целей. В зависимости от обстоятельств можно использовать несколько файлов. Можно выделить по крайней мере четыре главных области назначения.

  • Увеличение скорости загрузки
  • Для больших наборов данных выполнение скрипта значительно ускоряется благодаря буферизации неизменяющихся или медленно изменяющихся наборов входных данных в файлах QVD.

  • Снижение нагрузки на серверы баз данных
  • Объем данных, выбираемых из внешних источников данных, может также значительно сократиться. Это сокращает рабочую нагрузку на внешние базы данных и сетевой трафик. Более того, если несколько скриптов совместно используют одни и те же данные, необходимо лишь один раз загрузить их из исходной базы данных в файл QVD. Другие приложения могут использовать те же данные с помощью файла QVD.

  • Консолидирование данных из нескольких приложений
  • При работе с оператором скрипта binary можно загрузить данные только из одного приложения в другое, но при работе с файлами QVD скрипт может объединять данные из любого числа приложений. Благодаря этому приложения могут консолидировать похожие данные из разных подразделений, например.

  • Инкрементальная загрузка
  • Часто функции файла QVD могут использоваться для инкрементальной загрузки путем загрузки только новых записей из постоянно растущей базы данных.

    Для получения дополнительной информации см. Загрузка новых и обновленных записей с помощью инкрементальной загрузки.

Создание файлов QVD

Файл QVD можно создать двумя способами:

  • Явное создание и присвоение имен с помощью команды store в скрипте. Укажите в скрипте, что ранее считанную таблицу или ее часть необходимо экспортировать в явно названный файл в указанном вами местоположении.

    Для получения дополнительной информации см. Store.

  • Автоматическое создание и обслуживание из скрипта. Путем размещения перед оператором LOAD или SELECT префикса buffer приложение Qlik Sense автоматически создает файл QVD, который в определенных условиях может использоваться вместо оригинального источника данных при загрузке данных.

    Для получения дополнительной информации см. Buffer.

Между итоговыми файлами QVD нет различий относительно скорости чтения.

Чтение данных из файлов QVD

Файл QVD можно считать или получить к нему доступ следующими способами:

  • Загрузка файла QVD в качестве явного источника данных. На файлы QVD может ссылаться оператор LOAD в скрипте, как на любые другие типы текстовых файлов (csv, fix, dif, biff и т. д.).

    Например (Windows):

    • LOAD * from xyz.qvd (qvd)
    • LOAD Name, RegNo from xyz.qvd (qvd)
    • LOAD Name as a, RegNo as b from xyz.qvd (qvd)

    Например (Kubernetes):

    • LOAD * from [lib://MyDataFiles/xyz.qvd];
    • LOAD Name, RegNo from [lib://MyDataFiles/xyz.qvd];
    • LOAD Name as a, RegNo as b from [lib://MyDataFiles/xyz.qvd];
  • Автоматическая загрузка буферизованных файлов QVD. При использовании префикса buffer с операторами LOAD или SELECT для чтения явные выражения не требуются. Программа Qlik Sense определяет степень, до которой она использует данные из файла QVD, в отличие от получения данных с помощью оригинального оператора LOAD или SELECT.
  • Доступ к файлам QVD с помощью скрипта. Для получения различной информации о данных, находящихся в заголовке qvd файла XML, может использоваться несколько функций скриптов (начинаются с QVD).

Формат QVD

Файл QVD содержит только одну таблицу данных и состоит из трех частей:

  • Заголовок.

    Примечание: Если файл QVD был создан с помощью QlikView, то заголовком является хорошо сформированный заголовок XML (в кодировке UTF-8), который описывает поля в таблице, макете последующей информации и некоторых прочих метаданных.
  • Таблицы символов в формате, заполненном байтами.
  • Фактические данные таблиц в формате, заполненном битами.