Kraftfull ETL med hjälp av QlikView Expressor

QlikView Expressor – kraftfullare ETL?

Under 2012 förvärvade Qliktech Expressor. Ett inköp som jag personligen tycker är ett smart drag av Qliktech. Jag utvecklar nästan dagligen i SSIS och vet att en dedikerad ETL produkt verkligen underlättar datahanteringsprocessen i BI projekt. Med förvärvet av Expressor tar Qliktech ett stort steg närmare Enterprise kunder som annars ofta tittar på de större produkterna på marknaden som Oracle, IBM, Microsoft och SAS Institute. Gemensamt för dessa leverantörer är en gedigen produktportfölj med dedikerade komponenter för ETL, datalagring och rapportutveckling. Qliktech inser att Qlikview saknar en del ”övertygande faktorer” i sin produkt som begränsar dess möjligheter på den stora scenen. Min magkänsla säger att Expressor uppköpet kommer att bli ett rejält lyft för Qliktech för följande skäl:

  1. IT avdelningar måste instinktivt känna att en plattform kan förvaltas, administreras och driftas. Även om Qlikview har gjort framsteg med Deployment frameworks och Governance är det mesta fortfarande osynligt i Qlikview miljöer. Om man utgår från att: det man inte ser kan man inte påverka ser man problemet tydligare.
  2. DBA:er och ETL utvecklare på stora företag har en ”professional respect” för välformulerade och strukturerade ETL processer. Qlikviews skriptbaserat ETL fungerar för mindre deployment scenarios men inte lika väl för Enterprise.
  3. Säljprocessen förenklas när man kan belysa en produkts helhet. Det tidigare resonemanget ”ett datalager behövs inte med Qlikview” håller inte på Enterprisenivå.

På Qonnections 2013 kommer Qliktech att presentera Expressor utifrån både ett tekniskt och försäljningsperspektiv. Jag hinner inte gå på djupet här men redan nu kan säga att Expressor är vass. Den håller en riktig hög nivå.

För mer om Qonnections 2013 olika seminarier klick på länken:

http://www.qlikview.com/se/landing/qonnections-2013/tracks

Ni kanske undrar hur Expressor ser ut? Vad gör verktyget och hur kopplar man ihop det med Qlikview? Jag har gjort en liten test med Expressor som datagenerator och metadatahanterare till 2 (qvx) filer som jag sedan läste in i Qlikview. Som källa använder jag AdventureWorks2012 databas installerad på en SQL Server 2012 instans.

Dataflöden

Centralt i Expressor är begreppet artefakt. Ett projekt kan bestå av flera artefakt och en artefakt kan innehålla flera steg. Typiska artefakt är anslutningar, dataflöden och scheman, dvs datatabeller.

Att komma igång med Expressor tyckte jag var relativt enkelt. Jag tror att min grund i SSIS kan vara anledningen till detta men tycker ändå att GUI:et är tilltalande, intuitivt och vägledande. Den artefakten som är viktigaste i Expressor är Dataflow, där utvecklaren designar själva ”pipeline” från källa till destination, i vårt fall ett qvx schema.

Ett nytt dataflöde skapas genom att klicka på dataflöde ikonen i verktygsraden på startsidan. Ett nytt dialogfönster visas där man kan dra och släppa dataflow komponenter till arbetsytan. Man kan enkelt överskåda indata, utdata och transform komponenterna. Qlikviews läs och skriv komponenter installeras inte i samband med grundinstallationen utan måste aktiveras som tillägg.

Jag skapade ett enkelt dataflöde, innehållande 2 steg, med några av de vanligaste in och utdatakomponenterna. Flödet i sig är väldigt enkelt men jag ville bara se hur snabbt man kunde få upp ett fungerande flöde. Alla konfigurationer, d.v.s. anslutningar till databaser var väldigt enkelt att skapa.

En riktig finess med Expressor är att det är väldigt enkelt att hantera multipla inputs och omvandla dessa till en eller flera outputs. I min transform-komponent har jag definierat en enkel regel som konkatenerar förnamn, andranamn och efternamn till en gemensam sträng. Expressor dataskript är relativ enkel att förstå men kräver naturligtvis lite tålamod och intresse för att lära sig. Mer om Expressor dataskript finns via följande länk.

http://documentation.qlikview.com/expressor/3.7/expressor_datascript_language/datascript_language_reference_guide/The_Datascript_language.htm

Ett dataflöde kan bestå av flera steg vilket är ett bra sätt att dela upp flöden i logiska delmängd. Steg 2 i mitt flöde läser ut data från faktatabellen Internetsales och lagrar sedan data i en qvx fil.

Även i detta steg utnyttjas transformregler för att välja ut året från den inkommande duedate attributet.

 

Composite Types

I Expressor kan man definierar egna semantiska scheman, composite types, som kan återanvändas i andra dataflöden. Composite types ger Expressor en flexibel mekanism för att hantera mappningar mellan fysiska tabeller / filer och semantiska scheman.

I mitt flöde skapade jag ett eget composite type med namn required, som endast ta de fält som behövs längre fram i QlikView.

När flödet är skapat är det bara att exekvera det. De skapade qvx filerna läses in i qlikview för visualisering.

 

Slutsats

Expressor ger Qlikview kraftfulla ETL möjligheter som garanterat ger produkten ett annat anseende i Enterprise sammanhang. Faktum att utvecklaren enkelt kan definiera sina källor, visualisera flöden, lägga till komplexa uttryck och stödja affärsregler gör att hela ETL flödet nu stabiliseras i en förvaltningsbar miljö. Expressor kräver lite tid för att lära sig men är värt ansträngningen. Framförallt krävs det lite tålamod med Expressor dataskript men om man verkligen vill öppna dörrarna till kraftfull ETL är detta ett måste. De färdiga komponenterna lämpar sig endast för relativt enkla scenarion, vilket sällan existera i verklighet.

På Qonnections 2013 kommer Qliktech att ge en ordentlig visning av Expressor samt kopplar den till den nya Governance applikationen. Nya sätt att visualisera och hantera Metadata kommer att visas. Jag hoppas att någon från egbs är på plats för att följa detta.

/Tim Little, tim.little@egbs.se

 

Share on LinkedInTweet about this on TwitterShare on Google+Share on FacebookEmail this to someone

Kommentera

E-postadressen publiceras inte. Obligatoriska fält är märkta *