Keresési átalakítások a leképezési adatfolyamban
A következőkre vonatkozik: Azure Data Factory Azure Synapse Analytics
Tipp.
Próbálja ki a Data Factoryt a Microsoft Fabricben, amely egy teljes körű elemzési megoldás a nagyvállalatok számára. A Microsoft Fabric az adattovábbítástól az adatelemzésig, a valós idejű elemzésig, az üzleti intelligenciáig és a jelentéskészítésig mindent lefed. Ismerje meg, hogyan indíthat új próbaverziót ingyenesen!
Az adatfolyamok az Azure Data Factoryben és az Azure Synapse Pipelinesban is elérhetők. Ez a cikk az adatfolyamok leképezésére vonatkozik. Ha még nem használta az átalakításokat, tekintse meg az adatok leképezési adatfolyam használatával történő átalakításáról szóló bevezető cikket.
A keresési átalakítással hivatkozhat egy adatfolyam egy másik forrásából származó adatokra. A keresési átalakítás hozzáfűzi a megfelelő adatok oszlopait a forrásadatokhoz.
A keresési átalakítás hasonló a bal oldali külső illesztéshez. Az elsődleges adatfolyam összes sora a kimeneti adatfolyamban lesz, a keresési stream további oszlopaival.
Konfiguráció
Elsődleges adatfolyam: Az adatok bejövő adatfolyama. Ez a stream egyenértékű az illesztés bal oldalával.
Keresési adatfolyam: Az elsődleges adatfolyamhoz hozzáfűzött adatok. A hozzáadott adatokat a keresési feltételek határozzák meg. Ez a stream egyenértékű az illesztés jobb oldalával.
Több sor egyeztetése: Ha engedélyezve van, az elsődleges adatfolyamban több egyezést tartalmazó sor több sort ad vissza. Ellenkező esetben a rendszer csak egyetlen sort ad vissza a "Match on" feltétel alapján.
Egyezés bekapcsolva: Csak akkor látható, ha a "Több sor egyeztetése" nincs kijelölve. Adja meg, hogy egyezni szeretne-e bármelyik sorban, az első egyezésen vagy az utolsó egyezésen. Minden sor ajánlott, mivel a leggyorsabb végrehajtást hajtja végre. Ha az első sor vagy az utolsó sor van kijelölve, meg kell adnia a rendezési feltételeket.
Keresési feltételek: Adja meg, hogy mely oszlopok feleljenek meg. Ha az egyenlőségi feltétel teljesül, akkor a sorok egyezésnek minősülnek. Vigye az egérmutatót, és válassza a "Számított oszlop" lehetőséget egy érték kinyeréséhez az adatfolyam-kifejezés nyelvével.
Mindkét stream összes oszlopa szerepel a kimeneti adatokban. Ha duplikált vagy nem kívánt oszlopokat szeretne elvetni, adjon hozzá egy kijelölési átalakítást a keresési átalakítás után. Az oszlopok elvethetők vagy átnevezhetők fogadóátalakítás során is.
Nem egyenlő illesztések
Ha feltételes operátort szeretne használni, például nem egyenlő (!=) vagy nagyobb, mint (>) a keresési feltételek között, módosítsa az operátor legördülő menüjét a két oszlop között. A nem egyenlő illesztésekhez a két stream közül legalább az egyiket az Optimalizálás lapon rögzített műsorszórás használatával kell közvetíteni.
Egyező sorok elemzése
A keresési átalakítás után a függvény isMatch()
segítségével megállapíthatja, hogy a keresés megfelel-e az egyes soroknak.
Erre a mintára példa a feltételes felosztási transzformáció használata a isMatch()
függvény felosztásához. A fenti példában az egyező sorok végighaladnak a felső adatfolyamon, és a nem egyező sorok áthaladnak a NoMatch
streamen.
Keresési feltételek tesztelése
Ha hibakeresési módban teszteli a keresési átalakítást az adatelőnézettel, használjon egy kis ismert adatkészletet. Ha sorokat mintavételez egy nagy adatkészletből, nem tudja előre megjósolni, hogy mely sorok és kulcsok lesznek beolvasva tesztelésre. Az eredmény nem determinisztikus, vagyis előfordulhat, hogy az illesztés feltételei nem adnak vissza egyezést.
Sugárzott optimalizálás
Az illesztésekben, a keresésekben és a meglévő átalakításokban, ha egy vagy mindkét adatfolyam elfér a feldolgozó csomópont memóriájában, optimalizálhatja a teljesítményt az Broadcasting engedélyezésével. Alapértelmezés szerint a spark motor automatikusan eldönti, hogy az egyik oldalt közvetíti-e. Ha manuálisan szeretné kiválasztani, hogy melyik oldalt szeretné közvetíteni, válassza a Rögzített lehetőséget.
Nem ajánlott letiltani a közvetítést a Ki beállítással, kivéve, ha az illesztések időtúllépési hibákba ütköznek.
Gyorsítótárazott keresés
Ha több kisebb keresést végez ugyanazon a forráson, akkor a gyorsítótárazott fogadó és a keresés talán jobb használati eset, mint a keresési átalakítás. Gyakori példák arra, hogy a gyorsítótár-fogadók jobbak lehetnek, ha egy adattár maximális értékét keresik, és a hibakódokat egy hibaüzenet-adatbázishoz illesztik. További információ a gyorsítótár-fogadókról és a gyorsítótárazott keresésekről.
Adatfolyamszkript
Syntax
<leftStream>, <rightStream>
lookup(
<lookupConditionExpression>,
multiple: { true | false },
pickup: { 'first' | 'last' | 'any' }, ## Only required if false is selected for multiple
{ desc | asc }( <sortColumn>, { true | false }), ## Only required if 'first' or 'last' is selected. true/false determines whether to put nulls first
broadcast: { 'auto' | 'left' | 'right' | 'both' | 'off' }
) ~> <lookupTransformationName>
Példa
A fenti keresési konfiguráció adatfolyam-szkriptje az alábbi kódrészletben található.
SQLProducts, DimProd lookup(ProductID == ProductKey,
multiple: false,
pickup: 'first',
asc(ProductKey, true),
broadcast: 'auto')~> LookupKeys
Kapcsolódó tartalom
- Az illesztés és a létező átalakítások egyszerre több streambemenetet vesznek igénybe
- Feltételes felosztásos átalakítás használata egyező és nem egyező értékek sorainak felosztásához
isMatch()