Ga naar hoofdinhoud

Stap voor stap - Incrementeel gegevens laden met de opdracht Store

OP DEZE PAGINA

Stap voor stap - Incrementeel gegevens laden met de opdracht Store

In dit stapsgewijze voorbeeld ziet u hoe u gegevens incrementeel kunt laden door middel van de opdracht Store in Qlik Sense SaaS.

U kunt Store gebruiken om een QVD-bestand te maken en dat bestand in DataFiles te laden. Deze gegevens kunnen bijvoorbeeld gegevensrecords zijn die uitsluitend gedurende een beperkte periode beschikbaar zijn in een database, zoals een bepaald aantal dagen voorafgaand aan de huidige datum. De historische gegevens kunnen worden geladen vanuit een QVD-bestand dat u maakt en kunnen worden gecombineerd met de nieuwste beschikbare gegevens uit een brondatabase. De nieuwste gegevens kunnen vervolgens opnieuw aan het QVD-bestand worden toegevoegd. In dit voorbeeld wordt deze use case gedemonstreerd.

U kunt Store tevens gebruiken om gegevens op te slaan uit een verbinding die u slechts één keer wilt opslaan, en vervolgens nieuwe gegevens toe te voegen vanuit een database. Op deze manier kan de daaropvolgende laadtijd voor de gegevens worden verminderd, en kan de belasting van de databaseservers, uw netwerk, enzovoort worden beperkt. In dit voorbeeld wordt deze use case buiten beschouwing gelaten. Over het algemeen zouden echter dezelfde stappen gelden.

In dit voorbeeld maken we een verbinding door middel van de Standard Search Twitter API en voeren we vervolgens een zoekopdracht uit naar een specifiek tekstgebaseerd zoekwoord. De zoekopdracht levert overeenkomsten op voor tweets van de afgelopen 7 dagen, een limiet die door Twitter is ingesteld. In dit voorbeeld beperkt de Standard Search Twitter API dus de hoeveelheid gegevens die uit de Twitter-database wordt geladen.

Door middel van Store slaan we de Twitter-gegevenstabel in een QVD-bestand op en laden we dat bestand in DataFiles. Vervolgens voeren we aanvragen uit voor de nieuwste gegevens van Twitter en laden we de gegevens in onze app samen met de gegevens uit het QVD-bestand. Deze gegevens worden opnieuw in het QVD-bestand geladen, waardoor het QVD-bestand groter wordt.

Vervolgens publiceren we de app en laden we onze gepubliceerde app met de laatste gegevens.

Voor meer informatie over de taken en concepten in dit voorbeeld raadpleegt u:

Vereisten

Taken

De volgende taken zijn vereist om dit voorbeeld uit te voeren:

  1. Een app maken en verbinding maken met Twitter
  2. Gegevens selecteren vanuit Twitter
  3. Scriptinstructies toevoegen om het QVD-bestand te maken en Twitter-gegevens erin te laden
  4. Script uitvoeren
  5. De planning voor het opnieuw laden van gegevens instellen

Een app maken en verbinding maken met Twitter

  1. Een app maken in uw cloudhub-werkruimte.
  2. Open de scripteditor. De optie voor het openen van de scripteditor wordt weergegeven wanneer u een nieuwe app maakt. U hebt ook toegang tot de scripteditor vanuit de editor voor het laden van gegevens.
  3. Klik onder Gegevensverbindingen in het rechtermenu op Nieuwe verbinding maken. Het venster Nieuwe verbinding maken wordt geopend.
  4. Selecteer Twitter in de vervolgkeuzelijst Gegevensbronnen. Er wordt een verificatievenster geopend.
  5. Klik op Verifiëren. Er wordt een verificatievenster voor Twitter API geopend. U moet mogelijk pop-upvensters in uw browser inschakelen.
  6. Als u Qlik-webconnectoren wilt autoriseren om uw Twitter -account te gebruiken, voert u uw Twitter -referenties in.
  7. Klik op Aanmelden. Er wordt een Twitter -venster geopend, waarin een toegangscode wordt weergegeven. Kopieer de code.
  8. Plak de code in het Qlik Sense-verificatievenster en klik vervolgens op Verifiëren. De verbinding is geverifieerd.
  9. Klik op Verbinding testen om te bevestigen dat de verbinding is gemaakt.
  10. Geef de verbinding een naam en klik op Maken. De verbinding is gemaakt en de editor voor het laden van gegevens wordt geopend. De verbinding wordt toegevoegd aan de lijst Gegevensverbindingen in het rechtermenu.

Gegevens selecteren vanuit Twitter

Wanneer u de verbinding hebt gemaakt, kunt u de gegevens selecteren die u wilt laden vanuit Twitter.

  1. Voeg een nieuw tabblad toe aan uw script in de scripteditor.
  2. Geef het tabblad een naam. We hebben ons tabblad New Data (Twitter) genoemd. Plaats de cursor in het venster van de scripteditor.
  3. Klik in de editor voor het laden van gegevens op Gegevens selecteren voor uw Twitter-verbinding.

    Het venster Gegevens selecteren om te laden wordt geopend.

  4. Selecteer de tabel met de naam Search en selecteer vervolgens een zoekwoord. Voor ons voorbeeld gebruiken we "Kubernetes".

     

    Gegevensloadvenster met Zoektabel geselecteerd

    Data load window with Search table selected.

  5. Klik op Voorbeeld van gegevens bekijken. De gegevensvelden voor de tabel Search worden weergegeven. Selecteer de velden die u wilt laden. In ons voorbeeld selecteren we de volgende velden: id, created_at, text, source en user_name.

     

    Gegevensloadvenster toont een voorbeeld van de gegevens

    Data load window showing a preview of data.

  6. Klik op Script invoegen. Het scriptsegment wordt toegevoegd aan het tabblad Nieuwe gegevens (Twitter) in de scripteditor in de editor voor het laden van gegevens.

  7. Geef de tabel een naam door een regel toe te voegen boven de Load-instructie. In ons voorbeeld hebben we deze TwitterSearch genoemd.

     

    Uw tabblad ziet er hetzelfde uit als de volgende schermafbeelding (met uitzondering van de opmerkingen):

     

    Nieuwe tabblad gegevens (Twitter) in de editor voor het laden van gegevens

    New data (Twitter) tab in the data load editor.

  8. Klik op Gegevens laden in het menu bovenaan om te controleren of de gegevens correct worden geladen. De gegevens worden geladen.

     

    Venster met voortgang laden van gegevens

    Data load progress window.

Indien gewenst kunt u gegevens bekijken in de tabellen en velden in de gegevensmodelviewer. U maakt ook een tabel in uw app om uw huidige gegevens weer te geven.

Scriptinstructies toevoegen om het QVD-bestand te maken en Twitter-gegevens erin te laden

Nadat u uw app hebt ingesteld om gegevens te laden vanuit Twitter, kunt u die gegevens opslaan in een QVD-bestand. Omdat u met de Twitter Standard API slechts gegevens van de afgelopen 7 dagen kunt opvragen, bevat ons QVD-bestand aanvankelijk alleen die gegevens nadat de gegevens zijn geladen.

  1. Voeg een nieuw tabblad toe aan uw script in de scripteditor.
  2. Geef het tabblad een naam. We hebben ons tabblad Historical data (QVD) genoemd.
  3. Voeg de volgende scriptinstructies toe op het tabblad. De opmerkingen (//) zijn ter referentie. Deze worden niet uitgevoerd wanneer u het script uitvoert.

     

    Opmerking: Als u scriptinstructies kopieert en plakt vanuit Firefox, moet u deze mogelijk eerst in een ander document plakken, zoals Word, zodat de regeleinden correct worden weergegeven in de scripteditor.

     

    //Method to test QVD file size. If the file does not exist returns <null> let size = FileSize('lib://DataFiles/AllTweets.qvd'); //Set the historical data pull range to a variable LET vRollingDate = Today()-90; //If the file exists and contains some data then the if statement is executed; //if the file does not exist, i.e. is null, then the if statement will be skipped if not isnull(size) then TwitterSearch: LOAD * FROM ['lib://DataFiles/AllTweets.qvd'](qvd) //Twitter ids are unique; ensures only new tweets added WHERE NOT EXISTS (Search.id) //Load last 90 days of data from the qvd file; //QVD file provides historical data beyond Twitter Standard API limit of 7 days. //Also ensures that stored incremented qvd file does not grow too large in size. AND FLOOR (Date([Search.created_at]))>=$(vRollingDate); end if

     

    Uw tabblad ziet er hetzelfde uit als de volgende schermafbeelding:

     

    Tabblad historische gegevens (QVD) in de editor voor laden van gegevens

    Historical Data (QVD) in the data load editor.

  4. Voeg nog een nieuw tabblad toe aan uw script.
  5. Geef het tabblad een naam. We hebben ons tabblad Store to QVD genoemd.
  6. Voeg de volgende scriptinstructies toe op het tabblad.

     

    //Regardless of the QVD file existing previously or not, updated data gets stored into the QVD. STORE TwitterSearch INTO [lib://DataFiles/AllTweets.qvd](qvd);

     

    Uw tabblad ziet er hetzelfde uit als de volgende schermafbeelding:

     

    Opslaanb in het tabblad QVD in de editor voor laden van gegevens

    Store to QVD tab in the data load editor.

Script uitvoeren

Wanneer u het script de eerste keer uitvoert, worden de gegevens geladen vanuit Twitter en wordt het QVD-bestand met de naam AllTweets.qvd gemaakt op basis van de Twitter-gegevens. Het bestand QVD wordt aan uw DataFiles-ruimte toegevoegd. Wanneer u het script opnieuw uitvoert, worden de gegevens geladen uit Twitter en het QVD-bestand. Het QVD -bestand wordt vervolgens bijgewerkt met de gegevens die u hebt geladen uit het QVD-bestand.

  1. Klik op Gegevens laden. Wanneer het script de eerste keer wordt uitgevoerd, worden de gegevens geladen vanuit Twitter en wordt het AllTweets QVD-bestand gemaakt op basis van de gegevens. Het QVD-bestand wordt aan uw DataFiles-ruimte toegevoegd en kan worden bekeken door te klikken op Select data.

     

    De eerste keer dat u het script uitvoert, wordt een bericht weergegeven zoals het volgende:

     

    Venster met voortgang laden van gegevens

    Data load progress window.

     

    De tweede en daaropvolgende keren dat u gegevens laadt, wordt een bericht weergegeven zoals het volgende:

     

    Venster met voortgang laden van gegevens

    Data load progress window.

  2. Maak diagrammen en tabellen in uw app op basis van uw gegevens.

De planning voor het opnieuw laden van gegevens instellen

Wanneer u uw gegevens hebt geladen, kunnen die gegevens worden weergegeven in uw app. U kunt de gegevens onder andere opnieuw laden door de scripteditor te openen en op Gegevens laden te klikken, zoals eerder besproken. U kunt de gegevens echter ook handmatig of volgens een door u gekozen schema laden in de gebruikersinterface van de cloudhub. Ga voor meer informatie naar App-gegevens in de cloudhub laden.