Kom igång med Matillion – Del 2: Ditt första projekt

20 augusti 2018

Det är dags att fortsätta guiden till hur du kommer igång med Matillion. Nu när vi har en Matillionmiljö uppe och snurrar har det blivit dags att skapa ett första projekt och ladda data in i Snowflake. Gå igenom del 1 om installation och uppstart av en Matillioninstans så kan du hänga med. Har du följt guiden borde du vara här och redo att logga in.

Ditt första projekt i Matillion

Då det är första gången vi loggar in i Matillion möts vi nu av formuläret för att skapa ett projekt. Projekt är grunden i Matillion.  Det är här du kopplar konfigurationer, skapar dataflöden och schemaläggningar. Dessa kan sedan grupperas i Projektgrupper vid behov.

Innan jag nu kopplar upp Matillion till Snowflake kan det vara bra att ha förberett ett Snowflake-konto specifikt för Matillion samt ett warehouse för dina dataladdningar. Det gör att man med enkelhet kan styra hur mycket resurser Matillion får i Snowflake och med det hur snabbt dina laddningar går klart och får kosta.

Det är även bra att lägga märke till sin URL i Snowflake. Allt innan ”.snowflakecomputing.com” är kontonamnet (account) som du behöver för att koppla Matillion mot Snowflake, I mitt exempel – sparksab.

Konfigurera projekt och koppling till Snowflake

Så, nu fyller jag i vårt projekt och annan nödvänding konfiguration enligt nedan (De olika delarna förklarar jag under bilden)

Project Group – Namnet för vår grupp
Project Name – Namnet för vårt projekt
Private Project – Bockar inte i denna då jag vill att andra ska kunna komma åt detta projekt.
Include Samples – Bockar inte i denna då jag inte behöver exempel.

Environment Details – Här fyller jag i det jag behöver får att kunna komma åt omvärlden så som AWS och Snowflake.

Name – Ett bra namn som beskriver konfigurationen, t.ex. produktion
AWS Credentials – Hur Matillion ska komma åt AWS-resurser. Jag väljer här Instance Credentials, enligt det vi skapade under installationen i Del 1.

Connection Settings – Här fyller jag i hur Matillion ska komma åt måldatabasen.

Account – Här fyller jag i mitt Snowflake-konto, enligt ovan.
Default Warehouse – Det warehouse i Snowflake som ska användas som default.
Default Database – Den databas som ska användas som default.
Default Schema – Det schema som ska användas som default.
Default Role – Kan vi lämna blankt
Username – vilken användare som Matillion ska köras som mot Snowflake.
Enable SSL – Om kommunikationen mellan Matillion och Snowflake behöver vara krypterad.

MAtillions Utvecklingsmiljö

Efter att fyllt i uppgifterna för mitt projekt ska jag kunna klicka Test och få Success för att veta att allt fungerar som det ska. Klicka sedan OK. Efter detta tas vi nu till följande skärm som är den arbetsyta där utveckling sker i Matillion.

 

Här har vi följande delar:

Explorer
Här ser vi strukturen inom vårt projekt. Uppbyggt av Matillions två jobbtyper:

  • Orchestration Job – Jobb för att läsa in data från externa källor till måldatabasen.
  • Transformation Job – Jobb för att transformera data inom måldatabasen. Dvs de som utnyttjar kraften i din databas med s.k. push down.

Components
De verktyg som du har till hands för att bygga dina flöden. Denna ser annorlunda ut beroende på vilken jobbtyp du arbetar med.

Environments
Här ser du den miljö du är uppkopplat mot. Du kan t.ex. se tabeller och vyer som du kan dra in till dina flöden.

BYGG första flödeT i MAtillion

Vi är nu redo att bygga vårt första dataflöde och verifiera att allt fungerar.

I kommande blogginlägg kommer vi gå in på djupen i själva utvecklingen i Matillion. Men för att verifiera vår installation kommer vi göra ett enkelt flöde där vi läser in dagens valutakurser till Snowflake.

Det gör vi genom att skapa ett så kallat Orchestration Job. Vi gör det genom att högerklicka på roten i vårt explorer-träd.

Välj Add Orchestration Job och skriv sedan in ett namn för jobbet och klicka ok i efterföljande dialog. Jag väljer att kalla mitt jobb Import currency.

 

Jag möts nu av skärmbilden ovan. Till höger syns arbetsytan där jag bygger mitt flöde samt en ikon som markerar starten. Till vänster ser jag under Components de komponenter som jag har tillgängliga för att bygga mitt flöde av typen Orchestration Job. Titta under Load/Unload-katergorin. Där finns alla färdiga komponenter för att hämta data från externa källor, Här hittar jag underkategorin Finance och komponenten Open Exchange Rates Query. Det är en färdig komponent för att inhämta valutakurser och den jag kommer använda mig av för att testa Matillion.

Hämta valutakurser med Open Exchange Rates Query

Som nästa steg drar jag helt enkelt in komponenten till min arbetsyta samt drar en koppling från min start-ikon till min nya indragna komponent. Denna kommer till en början lysa rött då den behöver konfigureras lite innan den vet vad den ska göra.

 

Konfigurera min komponent gör jag genom att markera den och under properties kommer då de egenskaper som kan konfigureras för komponenten dyka upp. Det som behöver fyllas i är markerade med röd text.

Det som behöver fyllas i för Open Exchange Rates Query är följande.

App ID – För att kunna hämta valutakurser behöver man ett registrerat konto. När man har ett får man ett ID som fylls i här.
Data Source – Här väljer jag vilken information jag vill hämta, dvs realtids-kurser eller historiska tidsserier.
Data Selection – Här väljer jag de kolumner jag behöver från källan, t.ex. Valutanamn, Basvaluta och kurs. Detta är beroende av föregående val.
Table – Här fyller jag i det namn och schema för tabellen där data ska lagras i Snowflake, t.ex. stage.current_currency
S3 Staging Area – All data som Matillion laddar in i Snowflake går via S3, om man är i Amazon-molnet. Här fyller man i vilken mapp/bucket datat ska mellanlanda i.

Testkör ditt första Matillionflöde

När jag fyllt i detta ska nu min komponent lysa grönt och jag kan testa att köra mitt flöde genom att höger-klicka i min arbetsyta och klicka på ”Run Job”.

När jag gjort detta kan jag sedan följa hur min laddning går. Titta i nedre högra hörnet av skärmen under Tasks. Klicka på ”+” för att få fram status samt det som händer i mitt flöde. Som ses nedan lyser allt grönt och gick bra i min laddning och 100 rader lästes in.

Tittar jag i Snowflake kan jag se att tabellen skapats och innehåller mina 100-rader.

 

Vad har vi gjort?

I de två delarna av det här blogginlägget har vi nu först installerat Matillion i Amazons moln AWS. Därefter byggde vi ett enkelt flöde för att verifiera att allt i vår Matillion-uppsättning fungerar tillsammans med vår Snowflake databas.

I nästa blogg kommer vi gå in lite mer på djupet i hur man bygger flöden med Matillion. Det vi ska titta på då är hur vi kan läsa ut data från vår lokala on-premise-databas och kombinera det med data från Google Analytics. Spännande va?

Funderar du på om Matillion skulle passa in i er arkitektur? Vill du ha hjälp att testa?

Fyll i ditt telefonnummer här så ringer vi upp dig.