Scenario

Z DWFC3
Prejsť na: navigácia, hľadanie

Scenárom označujeme sadu súvisiacich úloh, ktoré sú naplánované na spustenie spoločnou udalosťou (napr. dostupnosť dát, moment dokončenia uzávierky systému). Scenár by mal zahŕňať v sebe všetky súvisiace úlohy spracovávané v nadväznosti na sebe. Ako príklad môže byť spracovanie DWH ako samostatný scenár, rôzne intra-day a near realtime úlohy ako samostatný scenár. Takisto úlohy týkajúce sa údržby databáz, serverov by mali byť nastavené ako samostatné scenáre.

Vlastnosti

Vlastnosti scenára ovplyvňujú najmä spôsob plánovania denného spracovania

  • Názov - jedinečný názov scenára
  • Enabled - povolené/zakázané plánovanie scenára (pre ďalšie iterácie, už naplánované iterácie budú dokončené)
  • Simple - príznak jednoduchého/pokročilého plánovania scenára. Jednoduché plánovanie je určené pre každodenné spúšťanie bez ohľadu na pracovné dni a sviatky
  • Query - dotaz, ktorý je pravidelne spúšťaný a na základe ktorého je plánované spracovanie, viď TBD
  • Connection - DB spojenie, ktoré je použité pre spustenie Query, pole je povinné pre pokročilé scenáre (Simple = False)
  • Polling frequency - pravidelné spúšťanie vyššie uvedeného dotazu, udávané v minútach
  • Parallelism - počet súčasne naplánovaných/bežiacich spracovaná tohto scenára - tzn. maximálny počet súčasne spracovaných dátumov v prípade denného spracovania
  • Load limit - maximálne zaťaženie úloh, ktoré je možné spustiť v rámci scenára, pre detaily viď Load management
  • Parallel limit - maximálny počet súčasne bežiacich úloh v rámci scenára,viď Load management
  • Time min - hraničný minimálny čas pre spustenie scenára, pred týmto časom sa scenár nespúšťa (nevykonávajú sa ani selecty v prípade pokročilého plánovania scenára), zadáva sa v číselnom formáte ako HHMM
  • Time max - hraničný maximálny čas pre spustenie scenára, po tomto čase sa scenár nespúšťa (nevykonávajú sa ani selecty v prípade pokročilého plánovania scenára), zadáva sa v číselnom formáte ako HHMM

Dotaz

Očakávaný je platný SQL dotaz, ktorý vracia jeden riadok a nasledovné stĺpce:

  • dátum spracovania vo formáte date, datetime (berie sa len dátumová časť)
  • kód iterácie - nepovinný stĺpec, je potrebné pre viacnásobné spustenia v rámci dňa, pre detaily viď Plánovanie spracovania
  • názov spracovania - nepovinný stĺpec, ktorý ak je nenulový je použitý ako názov spracovania v aplikácii namiesto kombinácie Scenára, dátumu a iterácie. Pomocou tohto textu je možné nahradiť formát <scenár>/<dátum>/<iterácia> ľubovoľným textom.

Pred spustením dotazu sa vykonáva nahradenie značiek hodnotou parametrov. Je možné použiť nasledovné parametre:

  • maxdate - maximálny dátum, za ktorý bolo spracovanie dokončené (Finished) vo formáte yyyy-mm-dd, dátum 1970-01-01 indikuje prvé spustenie scenára
  • maxprocessingID - maximálny číselný identifikátor, za ktorý bolo spracovanie spustené, hodnota 0 indikuje prvé spustenie scenára
  • maxIteration - kód iterácie s maximálnym identifikátorom, za ktorý bolo spracovanie spustené
  • maxProcessingName - názov spracovania s maximálnym identifikátorom, za ktorý bolo spracovanie spustené
  • maxProcessingStatus - stav spracovania s maximálnym identifikátorom, za ktorý bolo spracovanie spustené
  • scenarioname - názov spúšťaného scenára
  • scenarioid - identifikátor spúšťaného scenára

Parametre sú v dotaze vložené ako značky ohraničené oddeľovačom %značka% Pri viacnásobnom použití značiek sú nahradené všetky výskyty.

Príklad použitia viacerých značiek na SQL príkaze:

select %maxdate% + 1 as date, 'iter1' as iteration, 'iter1 on ' + (%maxdate% + 1) as name;