Перейти к основному содержимому Перейти к дополнительному содержимому

Файлы 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 совместно используют одни и те же данные, необходимо лишь один раз загрузить их из исходной базы данных в файл QVD. Другие приложения могут использовать те же данные с помощью файла QVD.

  • Консолидирование данных из нескольких приложений Qlik Sense.
  • При работе с оператором скрипта Binary можно загрузить данные только из одного приложения Qlik Sense в другое, но с файлами QVD скрипт Qlik Sense может совместно использовать данные из любого числа приложений Qlik Sense. Это открывает возможности для приложений по консолидации похожих данных из разных подразделений компании и т. д.

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

Примечание к информации

Сведения о том, как сообщество Qlik использует Автоматизация приложения Qlik для сокращения времени загрузки QVD, см. в разделе Разбивка QVD с использованием автоматизации для оптимизации перезагрузок.

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

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

Store

Этот оператор скрипта создает файл QVD, CSV, Parquet или TXT с заданным именем.

Синтаксис:  

Store[ *fieldlist from] table into filename [ format-spec ];

Оператор может экспортировать поля только из одной таблицы данных. Если требуется экспортировать поля из нескольких таблиц, необходимо заранее сформировать явное объединение в скрипте для создания таблицы данных, которую следует экспортировать.

Текстовые значения экспортируются в файл CSV в формате UTF-8. Можно указать разделитель. См. LOAD. Оператор store для файла CSV не поддерживает экспорт BIFF .

Store mytable into [lib://DataFiles/xyz.qvd]; Store * from mytable into [lib://DataFiles/xyz.qvd]; Store myfield from mytable into [lib://DataFiles/xyz.qvd]; Store myfield as renamedfield, myfield2 as renamedfield2 from mytable into [lib://DataFiles/xyz.qvd]; Store mytable into [lib://DataFiles/myfile1.txt]; Store mytable into [lib://DataFiles/myfile2.csv];

  1. Откройте приложение Учебное пособие по написанию скриптов продвинутого уровня.
  2. Щелкните раздел скрипта Product.
  3. Добавьте следующее в конец данного скрипта:
  4. 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);

  5. Щелкните команду Загрузить данные.
  6. В списке файлов должен появиться файл Product.qvd.

    Этот файл данных является результатом скрипта Crosstable и представляет собой таблицу из трех столбцов, по одному столбцу для каждой категории (Product, Month, Sales). Этот файл данных теперь можно использовать для замены целого раздела скрипта Product .

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

Программа Qlik Sense может читать файл QVD или получать к нему доступ следующими способами:

  • Загрузка файла QVD в качестве явного источника данных. Оператор load может ссылаться на файлы QVD в скрипте Qlik Sense, как на любые другие типы текстовых файлов (csv, fix, dif, biff и т. д.).
  • LOAD * from [lib://DataFiles/xyz.qvd] (qvd); LOAD fieldname1, fieldname2 from [lib://DataFiles/xyz.qvd] (qvd); LOAD fieldname1 as newfieldname1, fieldname2 as newfieldname2 from [lib://DataFiles/xyz.qvd](qvd);
  • Доступ к файлам QVD с помощью скрипта. Для получения различной информации о данных, находящихся в заголовке XML файла QVD может использоваться несколько функций скриптов (начинаются с QVD).

  1. Закомментируйте весь скрипт в разделе скрипта Product.
  2. Введите следующий скрипт:
  3. Load * from [lib://DataFiles/ProductData.qvd](qvd);			

  4. Щелкните команду Загрузить данные.
  5. Данные загружаются из файла QVD.

    Окно хода выполнения загрузки данных

    Окно хода выполнения загрузки данных.
Примечание к информацииЧтобы узнать об использовании файлов QVD для инкрементальных загрузок, см. эту запись блога в Qlik Community: Overview of Qlik Incremental Loading (Обзор инкрементальной загрузки в Qlik)

 

Спасибо!

Вы закончили обучение по данному учебному пособию. Надеемся, вы узнали много нового о написании скриптов в программе Qlik Sense. Чтобы получить информацию о дальнейших курсах обучения, посетите наш веб-сайт.

Помогла ли вам эта страница?

Если вы обнаружили какую-либо проблему на этой странице и с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом, чтобы мы смогли ее исправить!