DataStage-opplæring for nybegynnere: IBM ETL-verktøy
⚡ Smart oppsummering
DataStage fra IBM InfoSphere extracts, transformerer og laster inn bedriftsdata i stor skala. Denne siden forklarer arkitektur, komponenter, parallell prosessering, oppsett av SQL-replikering, prosjektoppretting, jobbkompilering og integrasjonstesting ved hjelp av et praktisk DB2-detaljhandelseksempel.
Hva er DataStage?
DataStage er et ETL-verktøy som brukes til åtract, transformere og laste inn data fra kilden til måldestinasjonen. Kilden til disse dataene kan inkludere sekvensielle filer, indekserte filer, relasjonsdatabaser, eksterne datakilder, arkiver, bedriftsapplikasjoner osv. DataStage brukes til å legge til rette for forretningsanalyse ved å tilby kvalitetsdata som hjelper med å innhente forretningsintelligens.
DataStage ETL-verktøyet brukes i store organisasjoner som et grensesnitt mellom ulike systemer. Det tar seg av f.eks.tracsjon, oversettelse og lasting av data fra kilde til måldestinasjon. Den ble først lansert av VMark på midten av 90-tallet. Med IBM kjøpte DataStage i 2005, og ble omdøpt til IBM WebSphere DataStage og senere til IBM InfoSphere.
Ulike versjoner av Datastage tilgjengelig på markedet så langt var Enterprise Edition (PX), Server Edition, MVS Edition, DataStage for PeopleSoft og så videre. Den siste utgaven er IBM InfoSphere DataStage.
IBM Informasjonsserver inkluderer følgende produkter,
- IBM InfoSphere DataStage
- IBM InfoSphere QualityStage
- IBM InfoSphere Information Services Director
- IBM InfoSphere Information Analyzer
- IBM Informasjonsserver raskTrack
- IBM InfoSphere Business ordliste
Når definisjonen er klar, ser neste avsnitt på hva produktet faktisk kan gjøre i en datavarehus miljø.
DataStage Oversikt
Datastage har følgende muligheter.
- Den kan integrere data fra det bredeste spekteret av bedriftsdata og eksterne datakilder
- Implementerer datavalideringsregler
- Det er nyttig for å behandle og transformere store mengder data
- Den bruker skalerbar parallell prosessering
- Den kan håndtere komplekse transformasjoner og administrere flere integrasjonsprosesser
- Utnytt direkte tilkobling til bedriftsapplikasjoner som kilder eller mål
- Utnytt metadata for analyse og vedlikehold
- Operates i batch, sanntid eller som en webtjeneste
I de følgende delene av denne DataStage-opplæringen beskriver vi kort de følgende aspektene ved IBM InfoSphere DataStage:
- Datatransformasjon
- Jobb
- Parallell behandling
InfoSphere DataStage og QualityStage kan få tilgang til data i bedriftsapplikasjoner og datakilder som:
- Relasjonsdatabaser
- Mainframe databaser
- Forretnings- og analytiske applikasjoner
- Enterprise Resource Planning (ERP) eller CRM-databaser (customer relationship management).
- Online analytisk prosessering (OLAP) eller ytelsesstyringsdatabaser
Behandlingsfasetyper
IBM infosphere jobben består av individuelle stadier som er knyttet sammen. Den beskriver flyten av data fra en datakilde til et datamål. Vanligvis har et trinn minimum én datainngang og/eller én datautgang. Noen trinn kan imidlertid akseptere mer enn én datainngang og utgang til mer enn ett trinn.
I jobbdesign ulike stadier du kan bruke er:
- Forvandle scenen
- Filtertrinn
- Aggregator scene
- Fjern duplikatstadiet
- Bli med på scenen
- Oppslagsstadiet
- Kopier scenen
- Sorteringsstadiet
- Containere
Hvorfor bruke DataStage til dataintegrasjon?
Å vite funksjonslisten er én ting; å vite når verktøyet tjener inn lisenskostnadene er noe annet. DataStage velges for arbeidsbelastninger der volum, styring og heterogene kilder gjør håndskrevne skript uhåndterlige.
Den klareste årsaken er gjennomstrømning. Fordi motoren partisjonerer data på tvers av noder og strømmer poster mellom stadier samtidig, øker det å legge til maskinvare gjennomstrømningen nesten lineært. En jobb designet på en utviklingsboks med to noder kjører uendret på en produksjonsklynge med åtte noder.
De andre årsakene er organisatoriske snarere enn tekniske:
- Delte metadata: Tabelldefinisjoner, tilkoblinger og forretningstermer lagres én gang i repositoriet og brukes på nytt av hver jobb, noe som fjerner avviket som oppstår når hver utvikler definerer en kilde uavhengig.
- Innebygd datakvalitet: QualityStage kjører undersøkelse, standardisering, matching og overlevelse ved siden av ETL-flyten, slik at rensing ikke trenger et ekstra produkt.
- Bred tilkobling: Innfødte koblinger når DB2, OracleTeradata, stormaskin-VSAM SAP, Salesforce og lagring av skyobjekter uten tilpasset kode.
- Operasjonell kontroll: Direktøren gir kjørehistorikk, radantall, advarsler og omstartspunkter, som revisorer godtar som bevis på en kontrollert dataportefølje.
- gjenbruk: Delte containere og parametersett lar én testet transformasjon utføre mange jobber i stedet for å bli kopiert til hver av dem.
Disse fordelene hviler direkte på hvordan produktet er satt sammen, noe som forklares i neste avsnitt.
DataStage-komponenter og Architecture
DataStage har fire hovedkomponenter, nemlig
- administrator: Den brukes til administrasjonsoppgaver. Dette inkluderer å sette opp DataStage-brukere, sette opp rensekriterier og opprette og flytte prosjekter.
- manager: Det er hovedgrensesnittet til Repository of ETL DataStage. Den brukes til lagring og administrasjon av gjenbrukbare metadata. Gjennom DataStage manager kan man se og redigere innholdet i depotet.
- Designer: Et designgrensesnitt som brukes til å lage DataStage-applikasjoner ELLER jobber. Den spesifiserer datakilden, nødvendig transformasjon og destinasjon for data. Jobber kompileres for å lage en kjørbar fil som planlegges av direktøren og kjøres av serveren
- Regissør: Den brukes til å validere, planlegge, utføre og overvåke DataStage-serverjobber og parallelle jobber.

Bildet ovenfor forklarer hvordan IBM Infosphere DataStage samhandler med andre elementer i IBM Informasjonsserverplattform. DataStage er delt inn i to seksjoner, Delte komponenter og kjøretid ArchitectureTabellen nedenfor viser mer om hva hver av disse to seksjonene bidrar med.
|
delt |
Samlet brukergrensesnitt |
|
|
Felles tjenester |
|
|
|
Felles parallell behandling |
|
|
|
Runtime Architecture |
OSH-skript |
|
Hvordan parallell prosessering fungerer i DataStage
Arkitekturtabellen ovenfor omtaler felles parallell prosessering som en delt tjeneste. Denne delen forklarer hvordan denne tjenesten faktisk utfører en jobb, fordi konseptet ble lovet i oversikten og bestemmer hvor raskt en jobb fullføres.
En parallell jobb bruker to mekanismer samtidig, og begge brukes automatisk under kjøretid i stedet for å kodes for hånd.
1. Rørledningsparallellisme. Hvert trinn i en jobb starter samtidig i stedet for å vente på at det forrige trinnet skal fullføres. Kildetrinnet begynner å lese rader og sender dem til en pipeline i minnet. Transformeren starter så snart de første radene ankommer og sender utdataene til en andre pipeline. Målkoblingen begynner å skrive umiddelbart etter det. Ingen mellomliggende landingsfil skrives, så en jobb med tre trinn overlapper lesing, transformering og skriving i stedet for å kjøre dem i rekkefølge.
2. Partisjonsparallellisme. Radene er delt inn i separate partisjoner, og en fullstendig kopi av scenelogikken kjører mot hver partisjon på sin egen node. Åtte partisjoner betyr åtte samtidige Transformer-instanser. På slutten av flyten samles partisjonene tilbake til én enkelt strøm for målet.
Å velge riktig partisjoneringsmetode er den viktigste avgjørelsen en utvikler tar for å finjustere:
- Auto: Standardinnstillingen. Motoren velger en metode basert på hva nivået trenger.
- Hasj: Sender rader med samme nøkkelverdi til samme node. Kreves før Join, Aggregator og Remove Duplicates, slik at samsvarende nøkler møtes.
- Round Robin: Fordeler rader jevnt én etter én. Best for å laste inn en flat fil der nøkkelgrupperping spiller ingen rolle.
- Hel: Kopierer hele datasettet til hver node. Brukes for små referansetabeller i et oppslagsstadium.
- Samme: Holder den eksisterende partisjoneringen urørt, noe som unngår unødvendig ompartisjonering mellom to trinn.
- Rekkevidde og modulus: Fordel rader etter et verdibånd eller etter en numerisk nøkkelrest når en jevn spredning er nødvendig.
En konfigurasjonsfil (APT_CONFIG_FILE) deklarerer hvor mange noder som finnes. Fordi nodeantallet ligger utenfor jobben, skaleres den samme kompilerte jobben fra en bærbar PC til et produksjonsnett uten en designendring.
Før noe av dette kan prøves ut, må miljøet være på plass.
Forutsetning for Datastage Tool
For DataStage trenger du følgende oppsett.
- Infosfæren
- DataStage Server 9.1.2 eller nyere
- Microsoft Visual Studio .NET 2010 Express Edition C++
- Oracle klient (full klient, ikke en øyeblikkelig klient) hvis du kobler til en Oracle database
- DB2-klient hvis du kobler til en DB2-database
Nå i denne DataStage-opplæringen for nybegynnere-serien vil vi lære hvordan du laster ned og installerer InfoSphere-informasjonsserveren.
Last ned og installer InfoSphere Information Server
For å få tilgang til DataStage, last ned og installer den nyeste versjonen av IBM InfoSphere Server. Serveren støtter AIX, Linux og Windows operativsystem. Du kan velge etter behov.
For å migrere dataene dine fra en eldre versjon av infosphere til ny versjon, bruker du ressursutvekslingsverktøyet.
Installasjonsfiler
For å installere og konfigurere Infosphere Datastage må du ha følgende filer i oppsettet.
Til Windows,
- EtlDeploymentPackage-windows-oracle.pkg
- EtlDeploymentPackage-windows-db2.pkg
For Linux,
- EtlDeploymentPackage-linux-db2.pkg
- EtlDeploymentPackage-linux-oracle.pkg
Når serveren er installert, bruker det utarbeidede eksemplet på resten av denne siden endringsdatafangst, så det er nyttig å se hvordan endringsdata beveger seg før du bygger dem.
Prosessflyt av endringsdata i en CDC-transaksjonsfasejobb
Diagrammet ovenfor tracgjør én enkelt endring fra kildedatabasen til målet, i rekkefølgen som er oppført nedenfor.
- 'InfoSphere CDC'-tjenesten for databasen overvåker og fanger opp endringen fra en kildedatabase
- I henhold til replikeringsdefinisjonen overfører "InfoSphere CDC" endringsdataene til "InfoSphere CDC for InfoSphere DataStage."
- "InfoSphere CDC for InfoSphere DataStage"-serveren sender data til "CDC-transaksjonsstadiet" gjennom en TCP/IP-sesjon. "InfoSphere CDC for InfoSphere DataStage"-serveren sender også en COMMIT-melding (sammen med bokmerkeinformasjon) for å markere transaksjonsgrensen i den fangede loggen.
- For hver COMMIT-melding sendt av "InfoSphere CDC for InfoSphere DataStage"-serveren, oppretter "CDC Transaction stage" end-of-wave (EOW)-markører. Disse markørene sendes på alle utgangskoblinger til måldatabasekoblingstrinnet.
- Når "måldatabasekoblingstrinnet" mottar en slutt-av-bølge-markør på alle inngangskoblinger, skriver den bokmerkeinformasjon til en bokmerketabell og forplikter deretter transaksjonen til måldatabasen.
- "InfoSphere CDC for InfoSphere DataStage"-serveren ber om bokmerkeinformasjon fra en bokmerketabell på "måldatabasen".
- "InfoSphere CDC for InfoSphere DataStage"-serveren mottar bokmerkeinformasjonen.
Denne informasjonen brukes til,
- Bestem startpunktet i transaksjonsloggen der endringer leses når replikering starter.
- For å finne ut om den eksisterende transaksjonsloggen kan ryddes opp
Sette opp SQL-replikering
Før du begynner med Datastage, må du sette opp databasen. Du skal opprette to DB2-databaser.
- En for å tjene som replikeringskilde og
- En som mål.
Du vil også opprette to tabeller (produkt og inventar) og fylle dem med eksempeldata. Deretter kan du teste din integrasjon mellom SQL Replikering og Datastage.
Fremover vil du sette opp SQL-replikering ved å opprette kontrolltabeller, abonnementssett, registreringer og abonnementssettmedlemmer. Vi vil lære mer om dette i detalj i neste avsnitt.
Her vil vi ta et eksempel på Retail salgsvare som vår database og lage to tabeller Inventory og Product. Disse tabellene vil laste inn data fra kilde til mål gjennom disse settene. (kontrolltabeller, abonnementssett, registreringer og abonnementssettmedlemmer.)
Trinn 1) Opprett en kildedatabase referert til som SALGS. Lag to tabeller under denne databasen produkt og Varelager.
Trinn 2) Kjør følgende kommando for å lage SALES-database.
db2 create database SALES
Trinn 3) Slå på arkivlogging for SALES-databasen. Sikkerhetskopier også databasen ved å bruke følgende kommandoer
db2 update db cfg for SALES using LOGARCHMETH3 LOGRETAIN db2 backup db SALES
Trinn 4) I samme ledetekst endrer du til underkatalogen setupDB i katalogen sqlrepl-datastage-tutorial som du har åpnet.tracfra den nedlastede komprimerte filen.
Trinn 5) Bruk følgende kommando for å lage inventartabell og importere data til tabellen ved å kjøre følgende kommando.
db2 import from inventory.ixf of ixf create into inventory
Trinn 6) Lag en måltabell. Navngi måldatabasen som STAGEDB.
Siden du nå har opprettet både databasekilde og mål, neste trinn i denne DataStage-opplæringen, vil vi se hvordan du replikerer den.
Følgende informasjon kan være nyttig sette opp en ODBC-datakilde i IBM Dokumentasjon for InfoSphere Information Server.
Opprette SQL-replikeringsobjekter
Bildet nedenfor viser hvordan flyten av endringsdata leveres fra kilde- til måldatabasen. Du oppretter et kilde-til-mål-kart.ping mellom bordene kjent som medlemmer av abonnementssett og grupper medlemmene i en abonnement.
Replikeringsenheten i InfoSphere CDC (Change Data Capture) omtales som et abonnement.
- Endringene som er gjort i kilden, fanges opp i "Capture control table" som sendes til CD-tabellen og deretter til måltabellen. Mens søknadsprogrammet vil ha detaljene om raden der endringer må gjøres. Den vil også bli med CD-tabellen i abonnementssett.
- Et abonnement inneholder kartping detaljer som spesifiserer hvordan data i et kildedatalager brukes i et måldatalager. Merk at CDC nå omtales som Replikering av infosfæredata.
- Når et abonnement utføres, fanger InfoSphere CDC opp endringer i kildedatabasen. InfoSphere CDC leverer endringsdataene til målet, og lagrer synkroniseringspunktinformasjon i en bokmerketabell i måldatabasen.
- InfoSphere CDC bruker bokmerkeinformasjonen til å overvåke fremdriften til InfoSphere DataStage-jobben.
- I tilfelle feil, brukes bokmerkeinformasjonen som omstartspunkt. I vårt eksempel, ASN.IBMSNAP_FEEDETL-tabellen lagrer DataStage-relatert synkroniseringspunktinformasjon som brukes til å track DataStage-fremdrift.
I denne delen av IBM DataStage opplæringsopplæring, du må gjøre følgende ting,
- Opprett CAPTURE CONTROL-tabeller og APPLY CONTROL-tabeller for å lagre replikeringsalternativer
- Registrer PRODUCT- og INVENTORY-tabellene som replikeringskilder
- Opprett et abonnementssett med to medlemmer
- Opprett medlemmer av abonnementssett og mål CCD-tabeller
Bruk ASNCLP kommandolinjeprogram for å sette opp SQL-replikering
Trinn 1) Finn skriptfilen crtCtlTablesCaptureServer.asnclp i katalogen sqlrepl-datastage-tutorial/setupSQLRep.
Trinn 2) I filen erstatt og " ” med bruker-ID og passord for å koble til SALG-databasen.
Trinn 3) Endre kataloger til sqlrepl-datastage-tutorial/setupSQLRep-katalogen og kjør skriptet. Bruk følgende kommando. Kommandoen vil koble til SALES-databasen, generere et SQL-skript for å lage Capture-kontrolltabellene.
asnclp –f crtCtlTablesCaptureServer.asnclp
Trinn 4) Finn crtCtlTablesApplyCtlServer.asnclp-skriptfilen i samme katalog. Bytt nå ut to forekomster av og " ” med bruker-ID og passord for tilkobling til STAGEDB-databasen.
Trinn 5) Bruk nå følgende kommando i samme ledetekst for å lage brukskontrolltabeller.
asnclp –f crtCtlTablesApplyCtlServer.asnclp
Trinn 6) Finn crtRegistration.asnclp-skriptfilene og erstatt alle forekomster av med bruker-ID for å koble til SALES-databasen. Endre også " " til tilkoblingspassordet.
Trinn 7) For å registrere kildetabellene, bruk følgende skript. Som en del av registreringen vil ASNCLP-programmet lage to CD-tabeller. CDPRODUKT OG CDINVENTOR.
asnclp –f crtRegistration.asnclp
CREATE REGISTRATION-kommandoen bruker følgende alternativer:
- Differensiell oppdatering: Den ber Apply program for å oppdatere måltabellen bare når rader i kildetabellen endres
- Bilde begge: Dette alternativet brukes til å registrere verdien i kildekolonnen før endringen skjedde, og én for verdien etter at endringen skjedde.
Trinn 8) For å koble til måldatabasen (STAGEDB), bruk følgende trinn.
- Finn filen crtTableSpaceApply.bat, åpne den i et tekstredigeringsprogram
- Bytt ut og med bruker-ID og passord
- Skriv inn crtTableSpaceApply.bat i DB2-kommandovinduet og kjør filen.
- Denne batchfilen oppretter en ny tabellplass på måldatabasen ( STAGEDB)
Trinn 9) Finn crtSubscriptionSetAndAddMembers.asnclp-skriptfilene og gjør følgende endringer.
- Erstatt alle forekomster av og med bruker-ID og passord for å koble til SALES-databasen (kilde).
- Erstatt alle forekomster av og med bruker-ID for tilkobling til STAGEDB-databasen (mål).
Etter endringer, kjør skriptet for å lage abonnementssett (ST00) som grupperer kilde- og måltabellene. Skriptet oppretter også to abonnementssettmedlemmer og CCD (konsistente endringsdata) i måldatabasen som vil lagre de modifiserte dataene. Disse dataene vil bli konsumert av Infosphere DataStage.
Trinn 10) Kjør skriptet for å lage abonnementssettet, abonnementssettets medlemmer og CCD-tabeller.
asnclp –f crtSubscriptionSetAndAddMembers.asnclp
Ulike alternativer som brukes for å lage abonnementssett og to medlemmer inkluderer
- Komplett på kondensert av
- Ekstern
- Last type import eksport
- Timing kontinuerlig
Trinn 11) På grunn av defekten i replikeringsadministrasjonsverktøyene. Du må kjøre en annen batchfil for å sette TARGET_CAPTURE_SCHEMA-kolonnen i IBMSNAP_SUBS_SET kontrolltabell til null.
- Finn updateTgtCapSchema.bat-filen. Åpne den i et tekstredigeringsprogram. Bytt ut og med bruker-ID for tilkobling til STAGEDB-databasen.
- I DB2-kommandovinduet skriver du inn kommandoen updateTgtCapSchema.bat og kjører filen.
Opprette definisjonsfilene for å tilordne CCD-tabeller til DataStage
Før vi replikerer i neste trinn, må vi koble CCD-tabellen med DataStage. I denne delen vil vi se hvordan du kobler SQL med DataStage.
For å koble CCD-tabellen til DataStage må du opprette Datastage-definisjonsfiler (.dsx). .dsx-filformatet brukes av DataStage til å importere og eksportere jobbdefinisjoner. Du bruker ASNCLP-skriptet til å opprette to .dsx-filer. For eksempel har vi her opprettet to .dsx-filer.
- stagedb_AQ00_SET00_sJobs.dsx: Oppretter en jobbsekvens som styrer arbeidsflyten til de fire parallelle jobbene.
- stagedb_AQ00_SET00_pJobs.dsx : Oppretter de fire parallelle jobbene
ASNCLP-programmet tilordner automatisk CCD-kolonnen til Datastage Column-formatet. Det støttes bare når ASNCLP kjører på Windows, Linux eller Unix-prosedyre.
Datastage-jobber trekker rader fra CCD-tabellen.
- Én jobb setter et synkroniseringspunkt der DataStage slapp i f.eks.trachenter data fra de to tabellene. Jobben henter denne informasjonen ved å velge SYNCHPOINT-verdien for ST00-abonnementssettet fra IBMSNAP_SUBS_SET-tabellen og setter den inn i MAX_SYNCHPOINT-kolonnen i IBMSNAP_FEEDETL-tabell.
- To jobber som ekstract-data fra tabellene PRODUCT_CCD og INVENTORY_CCD. Jobbene vet hvilke rader som skal starte, f.eks.tracved å velge verdiene MIN_SYNCHPOINT og MAX_SYNCHPOINT fra IBMSNAP_FEEDETL-tabell for abonnementssettet.
Når definisjonene er tilordnet, kan replikeringen nå startes, slik at CCD-tabellene begynner å fylles.
Starter replikering
For å starte replikering, bruker du trinnene nedenfor. Når CCD-tabeller er fylt med data, indikerer det at replikeringsoppsettet er validert. Bruk det grafiske brukergrensesnittet for DB2 Control Center for å vise de replikerte dataene i CCD-måltabellene.
Trinn 1) Kontroller at DB2 kjører hvis ikke, bruk deretter db2 start kommando.
Trinn 2) Bruk deretter asncap-kommandoen fra en forespørsel fra operativsystemet for å starte fangstprogrammet. For eksempel.
asncap capture_server=SALES
Kommandoen ovenfor spesifiserer SALES-databasen som Capture-serveren. Hold kommandovinduet åpent mens opptak kjører.
Trinn 3) Åpne nå en ny ledetekst. Start deretter GJELDER program ved å bruke asnapply-kommandoen.
asnapply control_server=STAGEDB apply_qual=AQ00
- Kommandoen spesifiserer STAGEDB-databasen som Apply-kontrollserveren (databasen som inneholder Apply-kontrolltabellene)
- AQ00 som Apply-kvalifikatoren (identifikatoren for dette settet med kontrolltabeller)
La kommandovinduet være åpent mens Apply kjører.
Trinn 4) Åpne nå en annen ledetekst og utfør db2cc-kommandoen for å starte DB2 kontrollsenter. Godta standard kontrollsenter.
Trinn 5) Nå i venstre navigasjonstre, åpne Alle databaser > STAGEDB og klikk deretter Tabeller. Double klikk på tabellnavn (Produkt CCD) for å åpne tabellen. Det vil se noe slikt ut.
På samme måte kan du også åpne CCD-tabellen for INVENTORY.
Replikering mater nå CCD-tabellene, så oppmerksomheten flyttes fra databasesiden til DataStage-klientene.
Hvordan lage prosjekter i Datastage Tool
Først av alt skal du opprette et prosjekt i DataStage. For det må du være InfoSphere DataStage-administrator.
Når installasjonen og replikeringen er ferdig, må du opprette et prosjekt. I DataStage er prosjekter en metode for å organisere dataene dine. Det inkluderer å definere datafiler, stadier og byggejobber i et spesifikt prosjekt.
For å opprette et prosjekt i DataStage, følg trinnene nedenfor:
Trinn 1) Start DataStage-programvaren
Start DataStage og QualityStage Administrator. Klikk deretter på Start > Alle programmer > IBM Informasjonsserver > IBM WebSphere DataStage og QualityStage-administrator.
Trinn 2) Koble DataStage-server og klient
For å koble til DataStage-serveren fra DataStage-klienten, skriv inn detaljer som domenenavn, bruker-ID, passord og serverinformasjon.
Trinn 3) Legg til et nytt prosjekt
I vinduet WebSphere DataStage Administration. Klikk kategorien Prosjekter og klikk deretter Legg til.
Trinn 4) Skriv inn prosjektdetaljene
I vinduet WebSphere DataStage Administration skriver du inn detaljer som
- Navn
- Plassering av filen
- Klikk "OK"
Hvert prosjekt inneholder:
- DataStage jobb
- Innebygde komponenter. Dette er forhåndsdefinerte komponenter som brukes i en jobb.
- Brukerdefinerte komponenter. Dette er tilpassede komponenter opprettet ved hjelp av DataStage Manager eller DataStage Designer.
Vi vil se hvordan du importerer replikeringsjobber i Datastage Infosphere.
Slik importerer du replikeringsjobber i Datastage og QualityStage Designer
Du vil importere jobber i IBM InfoSphere DataStage og QualityStage Designer-klient. Og du henretter dem i IBM InfoSphere DataStage og QualityStage Director-klient.
Designer-klienten er som et blankt lerret for byggeprosjekter. Det eks.tracts, transformere, laste inn og kontrollere kvaliteten på data. Den tilbyr verktøy som danner de grunnleggende byggesteinene i en jobb. Den inkluderer
- Stages: Den kobles til datakilder for å lese eller skrive filer og for å behandle data.
- lenker: Den kobler sammen stadiene som dataene dine flyter langs
Stadiene i InfoSphere DataStage- og QualityStage Designer-klienten lagres i Designer-verktøypaletten.
Følgende stadier er inkludert i InfoSphere QualityStage:
- Undersøk scenen
- Standardiser scenen
- Match Frequency stage
- En-kilde kampstadiet
- Matchstadium med to kilder
- Overlev scenen
- Standardiseringskvalitetsvurdering (SQA) stadium
Du kan opprette 4 typer jobber i DataStage infosphere.
- Parallell jobb
- Sekvensjobb
- Mainframe jobb
- Serverjobb
La oss se trinn for trinn på hvordan du importerer replikeringsjobbfiler.
Trinn 1) Start DataStage og QualityStage Designer. Klikk Start > Alle programmer > IBM Informasjonsserver > IBM WebSphere DataStage og QualityStage Designer
Trinn 2) I vinduet Fest til prosjekt skriver du inn følgende detaljer.
- Domene
- brukernavn
- Passord
- Prosjektnavn
- OK
Trinn 3) Fra Fil-menyen klikker du på import -> DataStage-komponenter.
Et nytt DataStage Repository Import-vindu åpnes.
- Bla gjennom i dette vinduet STAGEDB_AQ00_ST00_sJobs.dsx fil som vi hadde laget tidligere
- Velg alternativet "Importer alle."
- Merk av for "Utfør effektanalyse."
- Klikk "OK".
Når jobben er importert, vil DataStage opprette STAGEDB_AQ00_ST00_sequence-jobb.
Trinn 4) Følg de samme trinnene for å importere STAGEDB_AQ00_ST00_pJobs.dsx-fil. Denne importen skaper de fire parallelle jobbene.
Trinn 5) Under Designer Repository-ruten -> Åpne SQLREP-mappen. Inne i mappen vil du se Sequence Job og fire parallelle jobber.
Trinn 6) For å se sekvensjobben. Gå til arkivtreet, høyreklikk STAGEDB_AQ00_ST00_sequence-jobben og klikk Rediger. Den vil vise arbeidsflyten til de fire parallelle jobbene som jobbsekvensen kontrollerer.
Hvert ikon er en scene,
- getExtractRange-trinn: Den oppdaterer IBMSNAP_FEEDETL-tabellen. Den vil sette startpunktet for dataeks.tracsjon til punktet der DataStage sist ekstractede rader og angi sluttpunktet til den siste transaksjonen som ble behandlet for abonnementssettet.
- getExtractRangeSuksessDenne fasen mater utgangspunktene til eksentractFromINVENTORY_CCD-scene og ekstractFra PRODUCT_CCD-scenen
- AllExtractsSuksess: Denne fasen sikrer at begge ekstractFromINVENTORY_CCD og extractFromPRODUCT_CCD ble fullført. Deretter sendes synkroniseringspunkter for de siste radene som ble hentet til setRangeProcessed-stadiet.
- setRangeProcessed scene: Den oppdateres IBMSNAP_FEEDETL-tabellen. Så DataStage vet hvor den skal begynne neste datarunde, f.eks.tracsjon
Trinn 7) For å se de parallelle jobbene. Høyreklikk STAGEDB_ASN_INVENTORY_CCD og velg rediger under repository. Det vil åpne vinduet som vist nedenfor.
Her i bildet ovenfor kan du se at dataene fra Inventory CCD-tabellen og Synch-punktdetaljer fra FEEDETL-tabellen gjengis til Lookup_6-stadiet.
De importerte jobbene peker fortsatt på ingenting, så et datatilkoblingsobjekt må defineres deretter.
Opprette en datatilkobling fra DataStage til STAGEDB-databasen
Nå er neste trinn å bygge en dataforbindelse mellom InfoSphere DataStage og SQL Replication-måldatabasen. Den inneholder CCD-tabeller.
I DataStage bruker du datatilkoblingsobjekter med relaterte koblingstrinn for raskt å definere en tilkobling til en datakilde i et jobbdesign.
Trinn 1) STAGEDB inneholder begge Apply-kontrolltabellene som DataStage bruker til å synkronisere dataeksemplene sine.tracog CCD-tabellene som dataene er hentet fratracted. Bruk følgende kommandoer
db2 catalog tcpip node SQLREP remote ip_address server 50000 db2 catalog database STAGEDB as STAGEDB2 at node SQLREP
Merknader: IP-adressen til systemet der STAGEDB ble opprettet
Trinn 2) Klikk Fil > Ny > Annet > Datatilkobling.
Trinn 3) Du vil ha et vindu med to faner, Parameters og General.
Trinn 4) I dette trinnet
- Generelt, tab, navngi datatilkoblingen sqlreplConnect
- I Parameters-fanen, som vist nedenfor
- Klikk på bla-knappen ved siden av 'Koble til ved hjelp av scenetype'-feltet, og i
- Åpne vindu naviger i depottreet til Stage Types –> Parallell–> Database —-> DB2 Connector.
- Klikk Åpne.
Trinn 5) I tabellen Tilkoblingsparametere skriver du inn detaljer som
- ConnectionString: STAGEDB2
- Brukernavn: Bruker-ID for å koble til STAGEDB-databasen
- Passord: Passord for å koble til STAGEDB-databasen
- Forekomst: Navn på DB2-forekomst som inneholder STAGEDB-database
Trinn 6) Lagre datatilkobling i neste vindu. Klikk på 'lagre'-knappen.
Importere tabelldefinisjoner fra STAGEDB til DataStage
I forrige trinn så vi at InfoSphere DataStage og STAGEDB-databasen er koblet sammen. Importer nå kolonnedefinisjon og andre metadata for PRODUCT_CCD- og INVENTORY_CCD-tabellene til informasjonsserverdepotet.
Følg trinnene nedenfor i designervinduet.
Trinn 1) Velg Importer > Tabelldefinisjoner > Start veiviser for koblingsimport
Trinn 2) Fra siden for valg av kobling i veiviseren velger du DB2-koblingen og klikker på Neste.
Trinn 3) Klikk last inn på tilkoblingsdetaljsiden. Dette vil fylle veiviserfeltene med tilkoblingsinformasjon fra datatilkoblingen du opprettet i forrige kapittel.
Trinn 4) Klikk Test tilkobling på samme side. Dette vil be DataStage om å forsøke å koble til STAGEDB-databasen. Du kan se meldingen "tilkoblingen er vellykket". Klikk Neste.
Trinn 5) Sørg for at feltene Vertsnavn og Databasenavn er riktig fylt ut på siden Datakildeplassering. Klikk deretter på neste.
Trinn 6) På skjemasiden. Skriv inn skjemaet for bruk kontrolltabeller (ASN) eller kontroller at ASN-skjemaet er forhåndsutfylt i skjemafeltet. Klikk deretter på neste. Valgsiden vil vise listen over tabeller som er definert i ASN-skjemaet.
Trinn 7) Den første tabellen vi trenger å importere metadata fra er IBMSNAP_FEEDETL, en Apply-kontrolltabell. Den inneholder detaljer om synkroniseringspunktene som gjør at DataStage kan beholde track av hvilke rader den har hentet fra CCD-tabellene. Velg IBMSNAP_FEEDETL og klikk på Neste.
Trinn 8) For å fullføre importen av IBMSNAP_FEEDETL tabelldefinisjon. Klikk på import og klikk deretter på åpne i det åpne vinduet.
Trinn 9) Gjenta trinn 1-8 to ganger til for å importere definisjonene for PRODUCT_CCD-tabellen og deretter INVENTORY_CCD-tabellen.
MERKNADER: Mens du importerer definisjoner for beholdningen og produktet, sørg for at du endrer skjemaene fra ASN til skjemaet som PRODUCT_CCD og INVENTORY_CCD ble opprettet under.
Nå har DataStage alle detaljene som kreves for å koble til SQL Replication-måldatabasen.
Angi egenskaper for DataStage-jobbene
For hver av de fire DataStage-parallelle jobbene vi har, inneholder den en eller flere stadier som kobles til STAGEDB-databasen. Du må endre stadiene for å legge til tilkoblingsinformasjon og lenke til datasettfiler som DataStage fyller ut.
Faser har forhåndsdefinerte egenskaper som kan redigeres. Her skal vi endre noen av disse egenskapene for STAGEDB_ASN_PRODUCT_CCD_ex.tracparallell jobb.
Trinn 1) Bla gjennom Designer-repositoriet. Velg STAGEDB_ASN_PRODUCT_CCD_ex under SQLREP-mappen.tracparallelljobb. Høyreklikk på jobben for å redigere. Designvinduet for parallelljobben åpnes i Designer-paletten.
Trinn 2) Finn det grønne ikonet. Dette ikonet representerer DB2-koblingstrinnet. Det brukes f.eks.tracHenter data fra CCD-tabellen. Double-klikk på ikonet. Et sceneredigeringsvindu åpnes.
Trinn 3) I redigeringsprogrammet klikker du på Last inn for å fylle ut feltene med tilkoblingsinformasjon. Klikk OK for å lukke sceneredigering og lagre endringene.
Trinn 4) Gå nå tilbake til designvinduet for STAGEDB_ASN_PRODUCT_CCD_extract parallell jobb. Finn ikonet for getSynchPoints DB2-koblingstrinn. Dobbeltklikk deretter på ikonet.
Trinn 5) Klikk nå på last-knappen for å fylle ut feltene med tilkoblingsinformasjon.
MERKNADER: Hvis du bruker en annen database enn STAGEDB som din Apply-kontrollserver. Velg deretter alternativet for å laste tilkoblingsinformasjonen for getSynchPoints-stadiet, som samhandler med kontrolltabellene i stedet for CCD-tabellen.
Trinn 6) I dette trinnet
- Lag en tom tekstfil på systemet der InfoSphere DataStage kjører.
- Navngi denne filen som productdataset.ds og noter hvor du lagret den.
- DataStage vil skrive endringer til denne filen etter at den henter endringer fra CCD-tabellen.
- Datasett eller filer som brukes til å flytte data mellom koblede jobber er kjent som vedvarende datasett. Det er representert av et DataSet-stadium.
Trinn 7) Åpne nå sceneredigereren i designvinduet, og dobbeltklikk på ikonet insert_into_a_dataset. Det vil åpne et annet vindu.
Trinn 8) I dette vinduet,
- Under egenskapsfanen sørger for at Target mappen er åpen og egenskapen File = DATASETNAME er uthevet.
- Til høyre vil du ha et filfelt
- Skriv inn hele banen til productdataset.ds-filen
- Klikk på "OK".
Du har nå oppdatert alle nødvendige egenskaper for produkt-CCD-tabellen. Lukk designvinduet og lagre alle endringer.
Trinn 9) Finn og åpne nå STAGEDB_ASN_INVENTORY_CCD_extract parallelljobb fra repository-ruten i Designer og gjenta trinn 3–8.
MERKNADER:
- Du må laste tilkoblingsinformasjonen for kontrollserverdatabasen inn i sceneeditoren for å fåSynchPoints-stadiet. Hvis kontrollserveren din ikke er STAGEDB.
- For STAGEDB_ST00_AQ00_getExtracParallelle jobber tRange og STAGEDB_ST00_AQ00_markRangeProcessed, åpne alle DB2-koblingstrinn. Bruk deretter innlastingsfunksjonen til å legge til tilkoblingsinformasjon for STAGEDB-databasen.
Alle egenskapene er nå angitt, slik at jobbene kan kompileres og utføres.
Kompilere og kjøre DataStage-jobbene
Når DataStage-jobben er klar til å kompileres, validerer designeren utformingen av jobben ved å se på input, transformasjoner, uttrykk og andre detaljer.
Når jobbkompileringen er fullført, er den klar til å kjøre. Vi vil kompilere alle fem jobbene, men vil kun kjøre "jobbsekvensen". Dette er fordi denne jobben kontrollerer alle de fire parallelle jobbene.
Trinn 1) Under SQLREP-mappen. Velg hver av de fem jobbene ved å (Cntrl+Shift). Høyreklikk deretter og velg kompileringsalternativet for flere jobber.
Trinn 2) Du vil se at fem jobber er valgt i DataStage Compilation Wizard. Klikk Neste.
Trinn 3) Kompileringen starter og viser en melding "Kompilert vellykket" når den er ferdig.
Trinn 4) Start nå DataStage og QualityStage Director. Velg Start > Alle programmer > IBM Informasjonsserver > IBM WebSphere DataStage og QualityStage Director.
Trinn 5) I prosjektnavigasjonsruten til venstre. Klikk på SQLREP-mappen. Dette bringer alle fem jobbene inn i direktørstatustabellen.
Trinn 6) Velg STAGEDB_AQ00_S00_sequence-jobben. Fra menylinjen klikker du på Jobb > Kjør nå.
Når kompileringen er ferdig, vil du se den ferdige statusen.
Sjekk nå om de endrede radene som er lagret i tabellene PRODUCT_CCD og INVENTORY_CCD var eks.tracted av DataStage og satt inn i de to datasettfilene.
Trinn 7) Gå tilbake til Designer og åpne STAGEDB_ASN_PRODUCT_CCD_extract jobb. For å åpne sceneredigereren Double-klikk på insert_into_a_dataset-ikonet. Klikk deretter vis data.
Trinn 8) Godta standardinnstillingene i vinduet for rader som skal vises. Klikk deretter OK. Et dataleservindu åpnes for å vise innholdet i datasettfilen.
Testing av integrasjon mellom SQL-replikering og DataStage
I forrige trinn kompilerte og utførte vi jobben. I denne delen vil vi sjekke integrasjonen av SQL-replikering og DataStage. For det vil vi gjøre endringer i kildetabellen og se om den samme endringen er oppdatert i DataStage.
Trinn 1) Naviger til mappen sqlrepl-datastage-scripts for operativsystemet ditt.
Trinn 2) Start SQL-replikering ved å følge trinnene:
- Kjør startSQLCapture.bat (Windows)-filen for å starte Capture-programmet i SALES-databasen.
- Kjør startSQLAply.bat (Windows)-filen for å starte Apply-programmet i STAGEDB-databasen.
Trinn 3) Åpne nå filen updateSourceTables.sql. For å koble til SALG-databasen, bytt ut og med bruker-ID og passord.
Trinn 4) Åpne et DB2-kommandovindu. Endre katalog til sqlrepl-datastage-tutorial\scripts, og kjør problemet med den gitte kommandoen:
db2 -tvf updateSourceTables.sql
SQL-skriptet vil utføre forskjellige operasjoner som Oppdater, Sett inn og slett på begge tabellene (PRODUCT, INVENTORY) i salgsdatabasen.
Trinn 5) På systemet der DataStage kjører. Åpne DataStage Director og utfør STAGEDB_AQ00_S00_sequence-jobben. Klikk Jobb > Kjør nå.
Når du kjører jobben vil følgende aktiviteter bli utført.
- Capture-programmet leser endringene på seks rader i SALES-databaseloggen og setter dem inn i CD-tabellene.
- Apply-programmet henter endringsradene fra CD-tabellene på SALES og setter dem inn i CCD-tabellene på STAGEDB.
- De to DataStage-eksemplenetract-jobber plukker opp endringene fra CCD-tabellene og skriver dem til filene productdataset.ds og inventory dataset.ds.
Du kan sjekke at trinnene ovenfor fant sted ved å se på datasettene.
Trinn 6) Følg trinnene nedenfor,
- Start designeren. Åpne STAGEDB_ASN_PRODUCT_CCD_extracikke jobb.
- Deretter Double-klikk på insert_into_a_dataset-ikonet. I sceneredaktøren. Klikk på Vis data.
- Godta standardinnstillingene i vinduet for rader som skal vises, og klikk OK.
Datasettet inneholder tre nye rader. Den enkleste måten å sjekke at endringene er implementert, er å rulle ned til høyre i dataleseren. Se nå på de tre siste radene (se bildet nedenfor)
Bokstaven I, U og D spesifiserer INSERT, UPDATE og DELETE operasjoner som resulterte i hver ny rad.
Du kan gjøre den samme sjekken for inventartabell.
DataStage vs. andre populære ETL-verktøy
Når den komplette flyten fungerer, er det neste spørsmålet vanligvis hvor DataStage ligger i forhold til alternativene et team allerede eier. Tabellen nedenfor sammenligner det med tre mye brukte plattformer basert på kriteriene som oftest avgjør et kjøp.
| Kriterier | IBM DataStage | Informatikk Kraftsenter | Talent | SSIS |
|---|---|---|---|---|
| Prosesseringsmodell | Rørledning pluss partisjonsparallellisme | Metadatadrevet partisjonering | Generert Java or Spark kode | Dataflyt i minnet |
| Passer best | Svært store arbeidsbelastninger for bedrifter, både batcher og CDC | Komplekse eldre arkitekturer med tung styring | Skybaserte og kostnadssensitive team | Microsoft SQL Server eiendommer |
| Lisensiering | Kommersiell, premium-nivå | Næringseiendom | Åpen kildekode-utgave pluss kommersielle nivåer | Følger med SQL Server |
| Læringskurve | Trenger bratte ETL-spesialister | Steep | Middels gode kodeferdigheter hjelper | Moderat |
| Datakvalitet | QualityStage inkludert i pakken | Separat produkt for datakvalitet | Talentdatakvalitet inkludert | Tilleggskomponenter |
Kort sagt, DataStage velges når rå gjennomstrømning, rekkevidde for stormaskiner og revisjonsklar avstamning er viktigere enn lisenskostnader. Team som hovedsakelig jobber i en sky datasjøarkitektur eller sammenligne f.eks.tracå bestille først kan finne avveiningene i ETL vs ELT mer relevant, og en bredere kortliste vises i oppsummeringen av ETL-verktøy og dataintegrasjonsverktøy.
































