Partielles Laden
Ein vollständiger Ladevorgang beginnt immer mit dem Löschen aller Tabellen im vorhandenen Datenmodell. Dann wird das Ladeskript ausgeführt.
Ein partieller Ladevorgang tut dies nicht. Stattdessen werden alle Tabellen im Datenmodell beibehalten und dann nur die Anweisungen Load und Select mit den Zusätzen Add, Merge oder Replace ausgeführt. Andere Datentabellen sind von dem Befehl nicht betroffen. Das Argument only gibt an, dass die Anweisung nur bei partiellen Ladevorgängen ausgeführt und bei vollständigen Ladevorgängen ignoriert werden soll. Die folgende Tabelle bietet eine Zusammenfassung der Anweisungsausführung für teilweise und vollständige Ladevorgänge.
Anweisung | Vollständiges Laden | Partielles Laden |
---|---|---|
Load ... | Anweisung wird ausgeführt | Anweisung wird nicht ausgeführt |
Add/Replace/Merge Load ... | Anweisung wird ausgeführt | Anweisung wird ausgeführt |
Add/Replace/Merge Only Load ... | Anweisung wird nicht ausgeführt | Anweisung wird ausgeführt |
Partielle Ladevorgänge haben im Vergleich zu vollständigen Ladevorgängen mehrere Vorteile:
-
Sie sind schneller, da nur die kürzlich geänderten Daten geladen werden müssen. Bei großen Datensätzen ist der Unterschied signifikant.
-
Es wird weniger Speicher verbraucht, da weniger Daten geladen werden.
-
Der Vorgang ist zuverlässiger, da Abfragen an Datenquellen schneller ausgeführt werden, was das Risiko von Netzwerkproblemen reduziert.
Führen Sie einen partiellen Ladevorgang durch, indem Sie die Schaltfläche Laden nutzen. Weitere Informationen finden Sie unter Schaltfläche. Sie können auch das Qlik Engine JSON API verwenden.
Einschränkungen
Ein teilweises Laden schlägt fehl, wenn Befehle mit Referenzen auf Tabellen vorhanden sind, die während des vollständigen Ladens vorhanden waren, aber nicht während des teilweisen Ladens.
Ein partieller Ladevorgang kann Werte aus den Daten entfernen. Dies wird jedoch nicht in der Liste der distinkten Werte widergespiegelt, die eine intern gepflegte Tabelle ist. Nach einem partiellen Ladevorgang enthält die Liste daher alle distinkten Werte, die im Feld seit dem letzten vollständigen Ladevorgang vorhanden waren, was mehr sein können, als derzeit nach dem partiellen Ladevorgang vorhanden sind. Dies wirkt sich auf die Ausgabe der Funktionen FieldValueCount() und FieldValue() aus. FieldValueCount() könnte eine größere Zahl als die aktuelle Zahl der Feldwerte zurückgeben.