Werken met QVD-bestanden
Een QVD (QlikView Data)-bestand is een bestand dat een tabel bevat met gegevens die vanuit Qlik Sense zijn geëxporteerd. QVD is een speciale Qlik-indeling die uitsluitend kan worden geschreven naar en gelezen door Qlik Sense of QlikView 12. De bestandsindeling is geoptimaliseerd om snel gegevens in een -script te kunnen lezen, maar is toch zeer compact. Gegevens uit een QVD-bestand worden 10-100 keer sneller gelezen dan gegevens uit een andere gegevensbron.
QVD-bestanden kunnen in twee modi worden gelezen: standaard (snel) en geoptimaliseerd (sneller). De geselecteerde modus wordt automatisch bepaald door de script-engine.
Geoptimaliseerd laden heeft enkele beperkingen. Het is mogelijk om de naam van velden te wijzigen, maar alle hier genoemde activiteiten schakelen geoptimaliseerd laden uit en resulteren in standaard laden.
- Alle transformaties op de geladen velden.
- Het gebruik van een where-clausule waardoor Qlik Sense de records uitpakt.
- Het gebruik van Toewijzen op een geladen veld.
Functie van QVD-bestanden
QVD bestanden kunnen voor vele doeleinden worden gebruikt en meer dan één kan van toepassing zijn in een situatie. Minimaal vier zijn er direct te onderkennen.
-
Sneller laden van gegevens
Door niet of langzaam veranderende blokken gegevensinvoer in QVD-bestanden te bufferen, wordt de scriptuitvoering van grote gegevensverzamelingen aanmerkelijk versneld.
-
Lagere belasting van databaseservers
Ook de hoeveelheid op te halen gegevens uit externe gegevensbronnen kan aanzienlijk worden gereduceerd. Hierdoor is er minder netwerkverkeer nodig en wordt de belasting van externe databases teruggebracht. Als diverse scripts dezelfde gegevens delen, hoeven deze maar één keer uit de brondatabase te worden opgehaald in een QVD-bestand. Andere toepassingen kunnen via dit QVD-bestand gebruikmaken van dezelfde gegevens.
-
Gegevens uit meerdere apps consolideren
Met de binary-scriptinstructie kunnen gegevens uit slechts één enkele app in een andere app worden geladen, maar bij QVD-bestanden kunnen gegevens uit een willekeurig aantal apps worden gecombineerd door middel van een script. Hierdoor kunnen apps bijvoorbeeld vergelijkbare gegevens van verschillende business units consolideren.
-
incrementeel
In veel voorkomende gevallen kan de QVD-functionaliteit worden gebruikt voor incrementeel laden, d.w.z. dat uitsluitend nieuwe records uit een database worden geladen.
Ga voor meer informatie naar Nieuwe en bijgewerkte records laden via incrementeel laden.
Om te zien hoe de Qlik Community Qlik toepassingsautomatisering benut om QVD-laadtijden te verbeteren, zie QVD's uitsplitsen met behulp van een automatisering om ladingen te verbeteren
QVD-bestanden maken
Een QVD-bestand kan op twee manieren worden gemaakt:
-
Door dit expliciet te maken en een naam te geven met de store-opdracht in het script. U geeft in het script aan dat u een eerder gelezen tabel of deel ervan wilt exporteren naar een expliciet genoemd bestand op een locatie van uw keuze.
Ga voor meer informatie naar Store.
-
Door dit automatisch te maken en beheren vanuit een script. Als u een LOAD- of SELECT-instructie van de bufferprefix voorziet, wordt door Qlik Sense automatisch een QVD-bestand gemaakt, dat bij het opnieuw laden van gegevens onder bepaalde voorwaarden in plaats van de originele gegevensbron kan worden gebruikt.
Ga voor meer informatie naar Buffer.
Tussen de verschillende aangemaakte QVD-bestanden bestaan geen verschillen wat betreft de leessnelheid.
Gegevens uit QVD-bestanden lezen
Een QVD-bestand kan op de volgende manieren worden gelezen of geopend:
- Een QVD-bestand laden als een expliciete gegevensbron. Er kan naarQVD-bestanden worden verwezen met een LOADopdracht in het script, net als naar andere typen tekstbestanden (csv, fix, dif, biff enzovoort).
Bijvoorbeeld:
- LOAD * from xyz.qvd (qvd)
- LOAD Name, RegNo from xyz.qvd (qvd)
- LOAD Name as a, RegNo as b from xyz.qvd (qvd)
- Automatisch laden van gebufferde QVD-bestanden. Als u de bufferprefix gebruikt in LOAD- of SELECT-instructies, zijn er geen expliciete leesinstructies nodig. Qlik Sense bepaalt automatisch in welke mate gegevens uit het QVD-bestand of uit de oorspronkelijke LOAD- of SELECT-opdracht worden gebruikt.
- QVD-bestanden via het script benaderen. Een aantal scriptfuncties (alle functies die beginnen met qvd) kan worden gebruikt om informatie op te halen uit de XML-koptekst van het QVD-bestand.
QVD-indeling
Een QVD-bestand bevat precies één gegevenstabel en bestaat uit de volgende drie delen:
-
Koptekst.
InformatieAls het QVD-bestand is gegenereerd met QlikView 12, voldoet de koptekst aan de regels van een XML-koptekst (in UTF-8-tekenset) en beschrijft deze de velden in de tabel, de opmaak van de daaropvolgende informatie en andere metagegevens. - Symbooltabellen in een byte-stuffed indeling.
- Eigenlijke tabelgegevens in een bit-stuffed indeling.