Rangsorolás az informatikában PÉLDÁVAL

⚡ Okos összefoglaló

Az Informaticában a rangtranszformáció egy aktív, összekapcsolt objektum, amely minden csoportnak csak a felső vagy alsó N sorát tartja meg, és minden fennmaradó sorhoz pozíciót rendel az automatikus RANKINDEX kimeneti portján keresztül.

  • 🥇 Felső vagy alsó N: A Top/Bottom tulajdonság és a Number of Ranks tulajdonság együttesen dönti el, hogy mely sorok maradjanak fenn a szűrőben.
  • 🗂️ Csoportos rangsor: A portok szerinti csoportosítás minden csoportnál újraindítja a rangsorolást, így minden részleg visszaadhatja a saját első három helyezettjét.
  • 🔢 Rang port: Pontosan egy port hordozza az R jelzőt, és ez az egyetlen oszlop az az érték, amely alapján a rangsorolás kiszámításra kerül.
  • 📍 RANKINDEX: A Tervező automatikusan hozzáadja ezt a csak kimeneti portot, hogy az egyes sorok pozícióját a csoporton belül tartsa.
  • 🧪 Működő példa: Nyolc térképping A tervezői lépések betöltik az EMP_TARGET mappába részlegenként a három legjobban fizetett alkalmazottat.
  • 💾 Gyorsítótárban tárolt és aktív: A csoportértékek és a soradatok egy indexben és egy adatgyorsítótárban tárolódnak, és a sorok száma változik.

Rangtranszformáció az informatikában

Mi az a rang transzformáció?

A rangtranszformáció egy aktív és összekapcsolt transzformáció, amely csoport és rangok alapján szűri az adatokat. Például, ha tíz, a legmagasabb fizetéssel rendelkező alkalmazottakról szeretne rekordot kapni, ezt a fajta szűrést a rangtranszformációval végezheti el.

A rangsorolás átalakítása lehetővé teszi a csoportok szerinti rangsorolást is. Például, ha a tíz legjobban fizetett alkalmazottat szeretné osztályonként megkapni, akkor ez a csoport...ping ezzel az átalakítással elvégezhető.

A rangtranszformáció egy aktív transzformáció, mivel befolyásolja a kimeneti sorok számát.

A Rank transzformációnak van egy kimeneti portja, amellyel rangot rendel a sorokhoz. Ez a port RANKINDEX néven ismert, és a Tervező automatikusan létrehozza, amint a transzformációt hozzáadjuk a térképping.

Mivel a rangsorolásnak össze kell hasonlítania a csoport minden sorát, mielőtt eldönthetné, melyik sor nyer, az Integrációs Szolgáltatás gyorsítótárazza a bejövő adatokat. A csoportértékek egy index gyorsítótárba kerülnek, a sor többi adata pedig egy adat gyorsítótárba, ugyanúgy, mint egy gyorsítótárazott Asztalos átalakulás tartja a fő csővezetékét.

Portok egy rangtranszformációban

A működő példa előtt érdemes tudni, hogy a Portok lapon található egyes portjelzők valójában mit csinálnak, mivel kettő végzi el az átalakítás valódi munkáját.

Port típusa Mit csinál
Bemenet (I) Oszlopot fogad a felsőbb szintű transzformációtól. A Rank transzformációhoz csatolt összes oszlop egy bemeneti port.
Kimenet (O) Átad egy oszlopot a következő transzformációnak vagy a célnak.
Változó (V) Egy lokális számítást tartalmaz a transzformáción belül, pontosan úgy, mint egy kifejezéstranszformációban.
Rang (R) Azt az egyetlen oszlopot jelöli, amely alapján a rangsorolás kiszámításra kerül. A transzformációban csak egyetlen port viselheti ezt a jelzőt.
Csoportosít Minden egyes értéknél újraindítja a rangsorolást, így a három legfontosabb szűrő csoportonként három sort ad vissza, nem pedig összesen három sort.
RANGDEX A tervező által létrehozott, csak kimeneti port. Ez tárolja az egyes sorok rangsorolási pozícióját a csoportján belül, és csatlakoztatatlanul is hagyható.

A rangsorolás csak egyetlen kikötőn végezhető el, így egy olyan követelmény, mint a „legmagasabb fizetés, majd a leghosszabb szolgálati idő”, a holtverseny-értéket igényli, amelyet a második rangsorolt ​​kikötő helyett a korábbiakban készítettek elő.

A rangtranszformáció használata Informaticában

A követelményünk az, hogy minden részlegről betöltsük a 3 legjobban fizetett alkalmazott adatait; ezt rangtranszformációval fogjuk megvalósítani. Végezze el az alábbi nyolc lépést a térképen.ping Tervező.

Step 1) Térkép létrehozásaping forrás EMP-vel és cél EMP_TARGET-tel. Mindkét definíció most a vásznon található, ahogy az alább látható.

Térképping A tervező bemutatja az EMP forrásdefinícióját és az EMP_TARGET céldefinícióját

Step 2) Aztán a térképenping

  1. Válassza az átalakítás menüt
  2. Válassza a létrehozási lehetőséget

A következőként látható az Átalakítás menü a Létrehozás opcióval.

Átalakítás menü megnyitva a térképenping Tervező, kiemelve a Létrehozás opcióval

Step 3) Az átalakítás létrehozása ablakban

  1. Válassza ki a rang transzformációt
  2. Írja be az „rnk_fizetés” átalakítás nevét
  3. Válassza a Létrehozás gombot

Átalakítási ablak létrehozása kiválasztott ranggal és megadott rnk_salary névvel

Step 4) A rang transzformáció létrejön a térképen.ping, válassza a Kész gombot az ablakban. Az üres rnk_salary objektum most megjelenik a vásznon.

Az rnk_salary rangtranszformáció létrehozása és a térképre helyezéseping vászon

Step 5) Csatlakoztassa az összes portot a forrásminősítő a Rang transzformációhoz, hogy minden alkalmazott oszlop elérhető legyen a rangsoroláshoz.

Az összes forrásminősítő port összekapcsolva az rnk_salary rangtranszformációval

Step 6) Double Kattintson a Rang transzformációra, és megnyílik az „átalakítás szerkesztése” ablak. Ebben az ablakban

  1. Válassza ki a tulajdonságok menüt
  2. Válassza a „Felső” opciót a Felső/Alul tulajdonságból
  3. Írjon be 3-at a rangok számába

A Tulajdonságok lapon mostantól a „Top” felirat látható három ranggal, ahogy a képernyőképen is látható.

A Rang transzformáció Tulajdonságok lapja, ahol a Legfelső van kiválasztva, és a rangok száma három.

Step 7) Ismét az „átalakítás szerkesztése” ablakban

  1. Válassza ki a portok lapot
  2. Válassza ki a csoportot opciónként az Osztályszám oszlopban
  3. Válassza ki a Rangsort a Fizetés oszlopban
  4. Válassza az OK gombot

A Portok fülön mostantól a részleg száma mellett szerepel a csoportjelző, a fizetésnél pedig az R jelző.

A Rang transzformáció Ports füle, ahol a csoportosítás a részlegszám és a fizetés oszlopban a rang szerint van megadva.

Step 8) Csatlakoztasd a Rank transzformációból származó portokat a céltáblához. A térképping most az EMP-től az rnk_salary-n keresztül az EMP_TARGET-be fut.

Az rnk_salary Rank transzformációból az EMP_TARGET táblába kapcsolt rangsorolt ​​portok

Most mentsd el a térképetping és végrehajtása egy létrehozása után ülés és a munkafolyamatA forrásminősítő az összes rekordot lekéri, de a Rank transzformáció csak azokat a rekordokat adja át, amelyek osztályonként három magas fizetést tartalmaznak.

Rangtranszformációs tulajdonságok

A 6. lépésben használt Tulajdonságok lap a példában módosított két beállításnál több beállítást tartalmaz. Az alábbi beállítások szabályozzák, hogy hány sor maradjon meg, hogyan legyenek összehasonlítva a karakterláncok, és hová kerüljenek a gyorsítótár-fájlok.

Ingatlanok Mit szabályoz
Fent / Alul A legmagasabb vagy a legalacsonyabb értékeket tartja-e meg a rangsorolt ​​oszlopban. A példa a Top értéket használja.
Rangok száma Hány sor kerül visszaadásra csoportonként? A példa 3-at használ, tehát minden részleg három alkalmazottat ad vissza.
Kis- és nagybetűérzékeny karakterlánc-összehasonlítás A karakterlánc-összehasonlítások figyelembe veszik-e a kis- és nagybetűket a rangsorolás során. Csak akkor számít, ha a rangsorolási port szöveget tartalmaz.
Gyorsítótár könyvtár Az index- és adatgyorsítótár-fájlok létrehozásának könyvtára. Az alapértelmezett érték a $PMCacheDir folyamatváltozó.
Rangadatok gyorsítótárának mérete A soradatokat tároló adatgyorsítótár mérete. Az alapértelmezett érték az Automatikus, amely lehetővé teszi az Integrációs szolgáltatás számára a méretezést.
Rangindex Gyorsítótár mérete A csoportértékeket tároló index gyorsítótár mérete. Az alapértelmezett érték az Automatikus.
Átalakítási hatókör A rangsorolást minden egyes tranzakcióra vagy az összes bejövő adatra alkalmazza.
Tracszint A munkamenet-naplóba írt részletek mennyisége: Tömör, Normál, Részletes inicializálás vagy Részletes adatok.

A gyorsítótár méretezése az a beállítás, amelyet érdemes felülvizsgálni nagy források esetén. Amikor a gyorsítótárak túl kicsik, az Integration Service lemezre lapoz, ami az egyik első dolog, amit ellenőriz a folyamat során. teljesítmény növelés egy térképping.

Rangtranszformáció vs. aggregátortranszformáció

Mindkét transzformáció aktív, mindkettő gyorsítótárazza a bemenetét, és mindkettő Group By portokat kínál, így könnyű a rosszhoz nyúlni. A különbség az, hogy mi jön ki belőlük.

Összehasonlítási pont Rangátalakítás Aggregátor átalakítása
Cél Visszaadja az egyes csoportok felső vagy alsó N teljes sorát. Számított értékeket ad vissza, például SZUM, AVG, MAX vagy MIN csoportonként
Visszaadott sorok A csoportonkénti rangok számáig, az összes oszlop érintetlenül Általában egy összesítő sor csoportonként
Extra port hozzáadva RANKINDEX, amely az egyes sorok pozícióját tartalmazza Egyik sem
Rangsorolt ​​vagy összesített oszlop Egy port rangportként megjelölve Tetszőleges számú port, amely összesített kifejezéseket hordoz

Egyszerűen fogalmazva, egy Aggregátor átalakítása a „mi a legmagasabb fizetés ezen az osztályon?” kérdésre ad választ, míg a Rank transzformáció a „melyik alkalmazott keresi meg”. Amikor csak a sorok egy részhalmazát kell elvetni egy egyszerű feltétel alapján, és nincs sorrendezés, akkor egy Szűrőátalakítás az olcsóbb választás, mivel egyáltalán nem igényel gyorsítótárat.

GYIK

Nem. A Rank csak összefüggő, tehát két objektum közötti adatfolyamban kell lennie. A RANKINDEX port hagyható szabadon, de maga a transzformáció nem hívható meg úgy, ahogy egy nem összefüggő Lookup meghívódik.

A holtversenyben lévő sorok ugyanazt az értéket kapják a rangsorindexben, majd a transzformáció kihagyja a következő értéket. A második helyen osztozó két alkalmazott ezért mindketten 2-t mutat, a következő sor pedig 4-et mutat 3 helyett.

A teljes forrást egyetlen csoportként kezeli a rendszer, így a transzformáció csak a rangok számát adja vissza összesen. Három rang beállítása csoportport nélkül a vállalat három legjobban fizetett alkalmazottját adja vissza, nem pedig részlegenként.

Igen. A numerikus, karakterlánc és dátum/idő portok mind megjelölhetők rangsorolási portként. Szöveg esetén a kis- és nagybetűérzékeny karakterlánc-összehasonlítás tulajdonság dönti el, hogy a kis- és nagybetűk befolyásolják-e a sorrendet, ezért ellenőrizze a munkamenet futása előtt.

Nem garantált. A transzformáció kiválasztja, hogy mely sorok maradnak életben, nem garantálja a célállomás elérésének sorrendjét. Adjon hozzá egy Sorter transzformációt a RANKINDEX porton, ha a betöltési sorrend számít.

A SQL A window függvény minden sort címkéz, és a szűrést egy külső lekérdezésre hagyja. Az Informatica transzformáció egyetlen menetben címkéz és szűr, és sima fájlokon és más nem relációs forrásokon működik, ahol nem áll rendelkezésre adatbázismotor.

A gépi tanulási modellek a lemorzsolódás, a csalás vagy a konverzió valószínűsége alapján pontozzák a rekordokat, és ez a pontszám lesz a rangsorolt ​​oszlop. Az AI-tanácsadók a csoportok méretét is profilizálják, így a gyorsítótár-beállításokat és a rangok számát valós adatok, nem pedig találgatások alapján választják ki.

A Copilot elkészíti az egyenértékű ablakfüggvény-lekérdezést, vagy Python gyorsan csoportosítható, ami hasznos az eredmények validálásához. Nem tudja beolvasni a térképetping, ezért minden javaslatot vázlatként kezelj, és a sorok számát hasonlítsd össze a munkamenet-naplóval.

Foglald össze ezt a bejegyzést a következőképpen: