Contextele sunt utilizate pentru a configura un Job pentru mediile standard din cadrul ciclului de viață al dezvoltării software-ului, cum ar fi Dezvoltare, Testare și Producție.
Un Job rulează întotdeauna într-un context specific. Când un context este selectat în vizualizarea Run, parametrii corespunzători sunt aplicați pe baza mediului în care rulează Job-ul.
O variabilă de context este o variabilă definită de utilizator, specifică unui context. Câteva avantaje ale utilizării variabilelor de context includ:
Există două metode principale pentru a defini variabilele de context în Talend:
→ În vizualizarea Contexts (Built-In)
Când Job-ul este deschis în Designer, vizualizarea Contexts afișează toate variabilele definite în Job-ul curent, inclusiv variabilele de context importate. Această vizualizare permite crearea și gestionarea contextelor și variabilelor specifice unui Job. Variabilele de context definite aici sunt denumite „Built-In” și sunt disponibile doar în Job-ul în care au fost create.
→ În Repository (Grupuri de Context)
Variabilele de context pot fi, de asemenea, definite în Repository, în secțiunea Contexts, ca grupuri de context. Această metodă permite reutilizarea lor în orice Job din cadrul proiectului.
Pentru a accesa o variabilă de context, folosiți formatul context.NumeVariabila.
Contextul de execuție trebuie specificat în vizualizarea Run, unde sunt afișate contextul, variabilele și valorile. Când contextul se schimbă, valorile sunt actualizate automat, dar acestea nu pot fi modificate direct în această vizualizare.
Imaginați-vă că sunteți membru al echipei de Data Engineering în compania dumneavoastră, lucrând la un proiect pentru un client din retail, cu supermarketuri în fiecare oraș important din România. În fiecare zi, aceste supermarketuri generează date de vânzări de produse, pe care le stochează în fișiere Excel.
Sarcina dumneavoastră este să construiți un proces ETL care să transfere zilnic aceste date din Excel în baza de date a clientului, permițând echipei de Analytics să creeze dashboard-uri și să obțină informații valoroase din date pentru a sprijini deciziile bazate pe date. Pe lângă transferul de date, va trebui să înregistrați informații esențiale, cum ar fi durata execuției, starea procesului, numărul de rânduri procesate și alte detalii relevante într-un tabel de logare dedicat.
Pentru a realiza această sarcină, veți folosi variabile de context pentru a configura componentele necesare și pentru a gestiona cerințele de logare.
Pentru scopul acestui SkillPill, vom presupune un singur context, DEV. Vom crea grupuri de context pentru conexiunea la baza de date și logare și vom defini o variabilă de context Built-In pentru numele fișierului din care extragem date.
→ Deschide Talend folosind opțiunea “Run as administrator” pentru a te asigura că ai privilegiile necesare.
→ În Repository, apasă clic dreapta pe Job Designs și selectează Create job.
→ În fereastra New job, introdu un nume adecvat pentru Job. Opțional, poți adăuga un scop și o descriere.
→ Apasă click pe Finish.
→ Baza de date utilizată în acest exemplu este MySQL, cu un nume de utilizator și o parolă definite în timpul instalării, utilizând o conexiune localhost.
→ În Repository, apsă clic dreapta pe Contexts și selectează Create context group.
→ În fereastra Create/Edit a context group (Pasul 1 din 2), introdu numele DBConnection. Opțional, poți adăuga un scop și o descriere, dacă este necesar.
→ În fereastra Create/Edit a context group (Pasul 2 din 2), apasă clic pe pictograma “+” din partea dreaptă. Apoi, apare fereastra Configure Contexts, cu un context implicit afișat. Selectează-l și apasă clic pe Edit. În fereastra Rename Context, tastează DEV și apasă clic pe OK. Apoi, apasă din nou clic pe OK pentru a confirma.
→ Apoi, apasă clic pe pictograma “+” din partea de jos a ferestrei Create/Edit a context group (Pasul 2 din 2) pentru a adăuga rândurile necesare pentru credențialele bazei de date ca variabile de context. Asigură-te că specifici tipul de date corespunzător pentru fiecare variabilă. Adaugă următoarele credențiale:
→ Grup de Context pentru Logare
Un tabel numit job_log a fost deja creat în schema training din baza de date MySQL. Acest tabel conține următoarele coloane: id, job_name, purpose, schema_name, job_start_dt, job_end_dt, job_duration, job_status, row_count_exported. Coloana id este definită ca secvență, așa că nu o vom seta explicit ca variabilă de context, deoarece valoarea sa se auto-incrementează.
În Repository, apasă clic dreapta pe Contexts și selectează Create context group.
În fereastra Create/Edit a context group (Pasul 1 din 2), introdu numele Logging. Opțional, poți adăuga un scop și o descriere, dacă este necesar.
În fereastra Create/Edit a context group (Pasul 2 din 2), apasă clic pe pictograma “+” din partea dreaptă. Apare fereastra Configure Contexts, cu un context implicit afișat. Selectează-l și apasă clic pe Edit. În fereastra Rename Context, tastează DEV și apasă clic pe OK. Apoi, apasă din nou clic pe OK pentru a confirma.
Apoi, apasă clic pe pictograma “+” din partea de jos a ferestrei Create/Edit a context group (Pasul 2 din 2) pentru a adăuga variabile de context pentru scopuri de logare. Asigură-te că specifici tipul de date corespunzător pentru fiecare variabilă. În câmpul Value, vom adăuga valori implicite pentru a evita avertismentele privind afișarea șirurilor la rulare. Aceste valori implicite vor fi suprascrise de valorile reale definite în timpul execuției. Adaugă următoarele variabile de context, corespunzând coloanelor din tabelul de logare MySQL:
→ Variabilă de Context Built-In pentru Numele Fișierului
Deschide Job-ul și accesați Contexts View.
În Contexts View, apasă clic pe pictograma “+” din partea dreaptă. Apoi, apare fereastra Configure Contexts, afișând un context implicit. Selectează-l și apasă clic pe Edit. În fereastra Rename Context, tastează DEV și apasă clic pe OK. Apoi, apasă din nou clic pe OK pentru a confirma.
Apoi, apasă clic pe pictograma “+” din partea de jos a Contexts View pentru a adăuga o variabilă de context pentru numele fișierului. Asigură-te că selectați tipul de date corespunzător. Adaugă următoarea variabilă de context:
→ Row 1 – Name: filePath, Tip: String, Valoare: C:/Program Files/RPM/Retail_Shop_Data.xlsx
→ Adăugarea Grupurilor de Context în Job
Există trei opțiuni pentru a adăuga grupurile de context în Job:
Trage grupurile de context pe Workspace Designer.
Trage grupurile de context în Contexts View.
Cu Job-ul deschis, accesează Contexts View și apasă clic pe butonul din dreapta săgeții în jos din partea de jos. Apare meniul Select Context Variables. Selectează grupurile de context pe care dorești să le adaugi , apoi apasă clic pe OK.
→ Adaugă o componentă tPreJob
Componenta tPreJob este utilă pentru configurarea setărilor sau executarea unor sarcini preliminare de care Job-ul principal poate depinde.
→ Adaugă o componentă tJava
Conectează această componentă la componenta tPreJob folosind un trigger de tip OnComponentOk.
Această componentă este utilizată pentru a inițializa unele dintre variabilele de context. Când inițializezi o variabilă de context într-o componentă tJava, folosește următoarea sintaxă: context.NumeVariabila=<valoarea_de_asignat>;. Asigură-te că adaugi un punct și virgulă la sfârșitul fiecărei linii de cod. Inițializează următoarele variabile:
→ Adaugă o componentă tDBConnection
Conectează această componentă la componenta tJava folosind un trigger de tip OnComponentOk. Componenta tDBConnection este utilizată pentru a stabili o conexiune la baza de date MySQL. Urmați acești pași de configurare:
Apasă clic pe componentă.
Din meniul Database de tip „drop-down”, selectează MySQL și verifică dacă versiunea bazei de date este corectă.
Configurează variabilele de context pentru conexiunea la baza de date:
Accesează secțiunea Advanced Settings și activează opțiunea Auto Commit. Aceasta va asigura că datele sunt automat salvate în baza de date atunci când Job-ul este finalizat.
→ Adaugă o componentă tFileInputExcel
Această componentă marchează începutul fluxului principal în Job. Este utilizată pentru a citi datele zilnice pentru un anumit supermarket.
În secțiunea Basic Settings, lângă File name/Stream, adaugă variabila de context Built-In, context.filePath. Poți face acest lucru fie introducând-o manual, fie folosind funcția de completare automată. În câmpul Sheet list, faceți clic pe semnul „+” și introdu numele foii din care citești date, în ghilimele duble. Dacă fișierul Excel conține anteturi de coloane, asigură-te că introduci 1 în secțiunea Header.
Apasă clic pe cele trei puncte din dreapta câmpului Edit schema și adaugă numele coloanelor împreună cu tipurile lor de date corespunzătoare. În funcție de formatul fișierului Excel, poate fi necesar să activezi opțiunea Read excel2007 file format (xlsx).
→ Adăugați o componentă tDBOutput
Conectează această componentă la tFileInputExcel folosind un trigger de tip Main row. Componenta tDBOutput este utilizată pentru a transfera datele din fișierul Excel în tabelul din baza de date numit „Shop 1”. Acest tabel a fost creat anterior în schema „training”. Asigură-te că folosești conexiunea la baza de date definită la început, activând opțiunea Use an existing connection. Action on table trebuie să rămână la setarea implicită, iar Action on data să fie setată pe Insert. De asemenea, asigură-te că schema este sincronizată cu input-ul. În câmpul Table, introdu numele tabelului între ghilimele duble.
→ Logică de Logare
Dacă transferul de date este reușit:
Adaugă o componentă tJava
Conectează această componentă la tFileInputExcel folosind un trigger de tip OnSubJobOk. Acest lucru instruiește Talend să urmeze această ramură dacă transferul de date este finalizat cu succes.
Definește următoarele variabile de context:
→ Adaugă o componentă tDBRow
Conecteză această componentă la componenta tJava folosind un trigger de tip OnComponentOk. Asigură-te că activezi opțiunea Use an existing connection și selectezi conexiunea definită la începutul fluxului. În secțiunea Query, introdu instrucțiunea INSERT.
Instrucțiunea INSERT este:
insert into job_log (job_name, purpose, schema_name, job_start_dt, job_end_dt, job_duration, job_status, row_count_exported)
values(
‘”+context.job_name +”‘,
‘”+context.purpose +”‘,
‘”+context.schema_name +”‘,
‘”+context.job_start_dt +”‘,
‘”+context.job_end_dt +”‘,
‘”+context.job_duration +”‘,
‘”+context.job_status +”‘,
‘”+context.row_count_exported +”‘
);
→ Adaugă o componentă tDBClose
Conectează această componentă la componenta tDBRow folosind un trigger de tip OnComponentOk. În acest fel, te asiguri că ai conexiunea închisă la sfârșitul fluxului și că datele sunt confirmate (committed) în baza de date.
→ Dacă transferul de date nu este reușit:
Adăugați o componentă tJava
Conectează această componentă la tFileInputExcel folosind un trigger de tip OnSubJobError. Acest lucru instruiește Talend să urmeze această ramură dacă apare o eroare în timpul transferului de date.
Definește aceleași variabile de context ca cele descrise mai sus, cu excepția context.job_status, care este definită astfel:
context.job_status = ‘Failure’;
Adăugați o componentă tDBRow
Conectează această componentă la componenta tJava folosind un trigger de tip OnComponentOk. Aceleași configurări se aplică și aici, la fel ca în componenta tDBRow din cazul de succes.
Adaugă o componentă tDBClose
Conectează această componentă la tDBRow folosind un trigger de tip OnComponentOk. În acest fel, te asiguri că aiconexiunea închisă la sfârșitul fluxului și că datele sunt confirmate (committed) în baza de date.
Asigură-te că setările menționate în pașii 1-3 sunt aplicate.
Rulează Jobul.
Verifică șă nu existe erori la rulare și că Jobul se finalizează cu un Exit code de 0.
Opțional, verifică tabelele shop1 și job_log în schema training pentru a confirma că datele au fost inserate corect.
Despre btProvider:
Echipa noastră de Data Analysts este calificată să explice și să ghideze echipele interne ale companilor în călătoria lor spre o cultură mult mai centrată în jurul datelor.
Deținem certificările tehnice necesare pentru produse:Talend, Tableau Desktop, Tableau Public, Tableau Server, Tableau Prep, and Tableau Data Management, Vertica, Salesforce, Mulesoft, Write-Back.
Cu Talend – cea mai bună platformă de gestionare a datelor – poți înțelege întotdeauna mai bine datele tale. Utilizând Talend, vei lua decizii inteligente și strategice și vei integra, asigura calitatea și guverna datele tale fără efort. Vezi și alte tutoriale video #skillpill aici:
Cum să creezi un Barcode Chart
Utilizarea numelor de măsură în acțiunile parametrice
Ești interesat să afli mai multe despre Talend – acceleratorul pentru soluții eficiente și cuprinzătoare de gestionare a datelor în întreaga companie.
În acest Skillpill vei învăța cum să creezi un Parliament Chart în tableau. Un Parliament Chart sau graficul semicircular, este folosit pentru a reprezenta distribuția mandatelor în parlament si nu este un tip de grafic standard în Tableau, dar îl […]
În Talend Cloud Management Console (TMC), poți crea taskuri executabile și planuri de execuție, pe care le poți rula direct în Cloud sau cu ajutorul unui Remote Engine. Trebuie să creezi un plan de execuție pentru a permite rulări automate […]
În acest Skillpill vei învăța cum să folosești Tableau Prep pentru a organiza, curăța și transforma datele, astfel încât acestea să fie pregătite pentru analiză și vizualizare. Datele vin în toate formele și dimensiunile, deseori de calitate variabilă, ceea ce […]