Buffer

QVD-Dateien können mit Hilfe des buffer-Zusatzes im Skript automatisch generiert werden. Dieser Zusatz kann zusammen mit den meisten LOAD- und SELECT-Befehlen verwendet werden. Er dient dazu, die eingelesenen Daten in einer QVD-Datei zu cachen bzw. zu buffern.

Syntax:  

Puffer-[(Option [ , Option])] ( loadstatement | selectstatement )

option::= incremental | stale [after] amount [(days | hours)]

 

Ist keine Option definiert, wird die bei der ersten Skriptausführung generierte QVD-Datei auf unbestimmte Zeit weiterverwendet.

Die Pufferdatei ist im Unterordner Buffers gespeichert, in der Regel unter C:\ProgramData\Qlik\Sense\Engine\Buffers (Serverinstallation) oder C:\Users\{user}\Documents\Qlik\Sense\Buffers (Qlik Sense Desktop).

Der Name der QVD-Datei ist ein generierter Name, ein hexadezimaler 160 bit-String, der den nachfolgenden LOAD- oder SELECT-Befehl und andere Informationen in abgekürzter Form enthält. Wird der nachfolgende QVD- oder LOAD-Befehl verändert, wird der SELECT-Puffer ungültig.

Normalerweise löscht das Programm automatisch QVD-Buffer, auf die während der Ausführung des Skripts nicht mehr zugegriffen wird. Auch beim Löschen der App werden die QVD-Buffer automatisch mitgelöscht.

Arguments:  

Argument Beschreibung
incremental Durch die Option incremental wird nur ein Teil der Daten aus der Originaldatenquelle gelesen. Die bisherige Größe der Quelldatei ist im XML-Header der QVD-Datei gespeichert. Dies ist insbesondere für log-Dateien nützlich. Alle bereits in der QVD-Datei vorhandenen Datensätze werden von dort eingelesen, alle neuen Datensätze aus der Originaldatenquelle. Am Ende dieses Vorgangs wird eine aktualisierte Version in der QVD-Datei gespeichert. Beachten Sie, dass die Option incremental nur mit LOAD-Befehlen und Textdateien verwendet werden kann und dass incremental load nicht verwendet werden kann, wenn alte Daten geändert oder gelöscht wurden!
stale [after] amount [(days | hours)] amount ist eine Zahl, die den Zeitraum definiert. Es dürfen Dezimalzahlen verwendet werden. Ist keine Einheit angegeben, nimmt das Programm Tage an.

Die Option stale after ist für Datenbanken vorgesehen, deren Originaldaten keinen Zeitstempel enthalten. Stattdessen definiert man, wie alt die QVD-Datei maximal sein darf, um anstelle der Originaldatenquelle eingelesen zu werden. Eine Bedingung stale after gibt einfach einen Zeitraum für das Erstellungsdatum des QVD-Buffers an. Danach ist er nicht mehr gültig. Vor dem Zeitrahmen wird der QVD-Buffer als Quelle für Daten verwendet, und danach gilt die ursprüngliche Datenquelle. In diesem Fall wird eine aktualisierte Version der QVD-Datei gespeichert, und die Zeitspanne beginnt von Neuem.

Limitations:  

Im Gebrauch des buffer-Zusatzes bestehen einige Einschränkungen. Die wichtigste besteht darin, dass der Zusatz nur für LOAD- oder SELECT-Befehle benutzt werden darf, die Daten aus einer Datei lesen.

Example 1:  

Buffer SELECT * from MyTable;

Example 2:  

Buffer SELECT * from MyTable;

Example 3:  

Buffer (incremental) LOAD * from MyLog.log;