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. 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.

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 naar-bestanden worden verwezen met een opdracht in het script, net als naar andere typen tekstbestanden (, , , enzovoort).QVDLOADcsvfixdifbiff

    Bijvoorbeeld (Windows):

    • LOAD * from xyz.qvd (qvd)
    • LOAD Name, RegNo from xyz.qvd (qvd)
    • LOAD Name as a, RegNo as b from xyz.qvd (qvd)

    Bijvoorbeeld (Kubernetes):

    • LOAD * from [lib://MyDataFiles/xyz.qvd];
    • LOAD Name, RegNo from [lib://MyDataFiles/xyz.qvd];
    • LOAD Name as a, RegNo as b from [lib://MyDataFiles/xyz.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.

    Opmerking: Als het QVD-bestand is gegenereerd met QlikView, 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.