Arbeiten mit QVD-Dateien
Eine QVD (QlikView Data)-Datei ist eine Datei, die eine Datentabelle enthält, die aus Qlik Sense exportiert wurde. QVD ist ein natives Qlik-Format und kann nur von Qlik Sense oder QlikView geschrieben und gelesen werden. Das Dateiformat ist für besonders schnelles Laden aus einem -Skript optimiert, aber gleichzeitig sehr kompakt. Das Einlesen von Daten aus QVD-Dateien ist etwa 10-100 Mal schneller als das Einlesen aus anderen Datenquellen.
QVD-Dateien können in zwei Modi gelesen werden: Standard (schnell) und optimiert (schneller). Der ausgewählte Modus ergibt sich automatisch aus dem Skriptmodul.
Das optimierte Laden unterliegt bestimmten Einschränkungen. Es ist möglich, Felder umzubenennen, aber mit allen hier aufgeführten Vorgängen wird das optimierte Laden deaktiviert und das Standardladen ausgeführt.
- Alle Transformationen für geladene Felder.
- Verwenden einer where-Klausel, die Qlik Sense veranlasst, die Datensätze zu entpacken.
- Verwenden von Zuordnen für ein geladenes Feld.
Anwendung von QVD-Dateien
QVD-Dateien können für viele verschiedene Zwecke verwendet werden, und in einer bestimmten Situation kann jeweils mehr als einer anwendbar sein. Im Wesentlichen lassen sich vier Anwendungsbereiche nennen:
-
Verkürzte Ladezeiten
Daten, die sich gar nicht oder nur in großen Zeitabständen verändern, lassen sich in QVD-Dateien puffern. Dadurch wird für die Ausführung des Skripts erheblich weniger Zeit benötigt. Dieser Effekt macht sich insbesondere bei großen Datenmengen bemerkbar.
-
Entlastung für Datenbankserver
Die aus externen Quellen geladene Datenmenge verringert sich erheblich. Datenbankserver und Netzwerke werden entlastet, weil weniger Daten bewegt werden. Des Weiteren müssen, wenn mehrere Skripte dieselben Daten verwenden, diese nur einmal aus der Quelldatenbank in eine QVD-Datei geladen werden. Andere Anwendungen können über diese QVD-Datei die gleichen Daten verwenden.
-
Konsolidieren von Daten aus mehreren Anwendungen
Mit dem binary Skriptbefehl lassen sich Daten aus einer einzelnen Anwendung in eine andere Anwendung laden, aber mit QVD-Dateien kann ein Skript Daten aus beliebig vielen Anwendungen kombinieren. Dies ermöglicht es Anwendungen, ähnliche Daten aus verschiedenen Geschäftsbereichen zu konsolidieren, z. B.
-
inkrementell
In vielen Fällen kann man die QVD-Funktion für inkrementelle Ladevorgänge benutzen, bei denen nur neue Datensätze aus einer umfangreichen Datenbank gelesen werden.
Weitere Informationen finden Sie unter Laden von neuen und aktualisierten Datensätzen mit inkrementellem Laden.
Informationen dazu, wie die Qlik Community Qlik Automate zum Verbessern der QVD-Ladezeiten verwendet, finden Sie unter Teilen von QVDs anhand einer Automatisierung zum Verbessern von Ladevorgängen.
Erstellen von QVD Dateien
Eine QVD-Datei kann auf zwei verschiedene Arten erstellt werden:
-
Explizite Erstellung und Benennung mithilfe des Befehls Store im Skript. Dazu definieren Sie im Skript, dass eine bereits eingelesene Tabelle oder ein Teil davon in eine Datei exportiert werden soll, deren Namen und Speicherort Sie bestimmen.
Weitere Informationen finden Sie unter Store.
-
Automatische Generierung durch das Skript. Wenn einer LOAD- oder SELECT-Anweisung das Präfix buffer vorangestellt wird, erstellt Qlik Sense automatisch eine QVD-Datei, die beim erneuten Laden von Daten unter bestimmten Bedingungen anstelle der ursprünglichen Datenquelle verwendet werden kann.
Weitere Informationen finden Sie unter Buffer.
Die Art und Weise des Anlegens hat keinerlei Einfluss auf die Eigenschaften der QVD-Datei, d. h. die Zugriffsgeschwindigkeit ist gleich.
Daten aus QVD-Dateien einlesen
Eine QVD-Datei kann auf folgende Weisen gelesen oder darauf zugegriffen werden:
- Laden einer QVD-Datei als explizite Datenquelle. QVD-Dateien können durch eine LOAD-Anweisung im Skript referenziert werden, genau wie jede andere Art von Textdateien (csv, fix, dif, biff usw.).
Beispiel:
- LOAD * from xyz.qvd (qvd)
- LOAD Name, RegNo from xyz.qvd (qvd)
- LOAD Name as a, RegNo as b from xyz.qvd (qvd)
- Automatisches Laden von gepufferten QVD-Dateien. Wenn Sie das Präfix buffer den LOAD oder SELECT Anweisungen voranstellen, sind keine expliziten Anweisungen zum Lesen erforderlich. Qlik Sense wird bestimmen, inwieweit es Daten aus der QVD Datei verwenden wird, anstatt Daten über die ursprüngliche LOAD oder SELECT Anweisung abzurufen.
- Zugriff auf QVD-Dateien über das Skript. Eine Reihe neuer Skriptfunktionen (ihre Namen beginnen alle mit qvd) helfen Ihnen, die Informationen im XML-Header der QVD-Datei auszulesen.
QVD-Format
Eine QVD-Datei enthält immer genau eine Tabelle und besteht aus drei Teilen:
-
Kopfzeile.
InformationshinweisWenn die QVD-Datei mit QlikView erstellt wurde, handelt es sich bei dem Header um einen wohlgeformten XML-Header (im UTF-8-Zeichensatz), der die Felder in der Tabelle beschreibt, das Layout der nachfolgenden Informationen und sonstige Metadaten. - Symboltabellen, unter Anwendung von Bytestuffing.
- Die eigentlichen Tabellendaten, unter Anwendung von Bitstuffing.