Sdílet prostřednictvím


Transformace rozmazaného seskupení

platí pro:SQL Server SSIS Integration Runtime ve službě Azure Data Factory

Transformace seskupení fuzzy provádí úlohy čištění dat tím, že identifikuje řádky dat, které budou pravděpodobně duplicitní, a výběrem kanonického řádku dat, který se má použít při standardizaci dat.

Poznámka:

Podrobnější informace o transformaci seskupování přibližných shod, včetně omezení výkonu a paměti, najdete v dokumentu white paper, vyhledávání přibližných shod a seskupování přibližných shod ve službě SQL Server Integration Services 2005.

Transformace seskupení fuzzy vyžaduje připojení k instanci SQL Serveru k vytvoření dočasných tabulek SQL Serveru, které algoritmus transformace vyžaduje k provedení své práce. Připojení musí odpovídat uživateli, který má oprávnění k vytváření tabulek v databázi.

Pokud chcete nakonfigurovat transformaci, musíte vybrat vstupní sloupce, které se mají použít při identifikaci duplicit, a musíte vybrat typ shody – přibližnou nebo přesnou – pro každý sloupec. Přesná shoda zaručuje, že se seskupí jenom řádky, které mají v daném sloupci stejné hodnoty. Přesné porovnávání lze použít u sloupců libovolného datového typu Integrační služby s výjimkou DT_TEXT, DT_NTEXT a DT_IMAGE. Přibližná shoda seskupuje řádky, které mají přibližně stejné hodnoty. Metoda přibližného párování dat je založena na skóre podobnosti zadané uživatelem. V přibližné shodě lze použít pouze sloupce s datovými typy DT_WSTR a DT_STR. Další informace najdete v tématu datové typy integračních služeb.

Výstup transformace zahrnuje všechny vstupní sloupce, jeden nebo více sloupců se standardizovanými daty a sloupec, který obsahuje skóre podobnosti. Skóre je desetinná hodnota mezi 0 a 1. Kanonická řada má skóre 1. Ostatní řádky ve skupině přibližných shod mají skóre, která označují, jak dobře řádek odpovídá kanonickému řádku. Čím je výsledek blíže hodnotě 1, tím více řádek odpovídá kanonickému řádku. Pokud fuzzy skupina obsahuje řádky, které jsou přesné duplicity kanonického řádku, mají tyto řádky také skóre 1. Transformace neodebere duplicitní řádky; seskupí je vytvořením klíče, který spojuje kanonický řádek s podobnými řádky.

Transformace vytvoří pro každý vstupní řádek jeden výstupní řádek s následujícími dalšími sloupci:

  • _key_in sloupec, který jednoznačně identifikuje každý řádek.

  • _key_out sloupec, který identifikuje skupinu duplicitních řádků. Sloupec _key_out má hodnotu sloupce _key_in v kanonickém datovém řádku. Řádky se stejnou hodnotou v _key_out jsou součástí stejné skupiny. Hodnota _key_out pro skupinu odpovídá hodnotě _key_in v kanonickém datovém řádku.

  • _score hodnota mezi 0 a 1, která označuje podobnost vstupního řádku s kanonickým řádkem.

Jedná se o výchozí názvy sloupců a můžete nakonfigurovat transformaci seskupení fuzzy tak, aby používala jiné názvy. Výstup také poskytuje skóre podobnosti pro každý sloupec, který se účastní přibližného seskupení.

Transformace seskupení fuzzy obsahuje dvě funkce pro přizpůsobení seskupení, které provádí: oddělovače tokenů a prahová hodnota podobnosti. Transformace poskytuje výchozí sadu oddělovačů, které se používají k tokenizaci dat, ale můžete přidat nové oddělovače, které zlepšují tokenizaci dat.

Prahová hodnota podobnosti označuje, jak přesně transformace identifikuje duplicity. Prahové hodnoty podobnosti lze nastavit v komponentě a na úrovních sloupců. Prahová hodnota podobnosti na úrovni sloupce je k dispozici pouze pro sloupce, které provádějí přibližnou shodu. Rozsah podobnosti je 0 až 1. Čím více se prahová hodnota blíží k 1, tím více musí být řádky a sloupce podobné, aby se kvalifikovaly jako duplicitní. Prahovou hodnotu podobnosti mezi řádky a sloupci určíte nastavením vlastnosti MinSimilarity na úrovni komponenty a sloupce. Aby bylo možné vyhovět podobnosti zadané na úrovni součásti, musí všechny řádky mít podobnost ve všech sloupcích, které jsou větší nebo rovny prahové hodnotě podobnosti zadané na úrovni komponenty.

Transformace seskupení fuzzy vypočítá vnitřní míry podobnosti a řádky, které jsou menší než hodnota zadaná v MinSimilarity, nejsou seskupeny.

Pokud chcete identifikovat prahovou hodnotu podobnosti, která funguje pro vaše data, možná budete muset několikrát použít transformaci seskupení přibližných shod s použitím různých minimálních prahových hodnot podobnosti. Sloupce skóre ve výstupu transformace při spuštění obsahují hodnoty podobnosti pro každý řádek ve skupině. Tyto hodnoty můžete použít k identifikaci prahové hodnoty podobnosti, která je vhodná pro vaše data. Pokud chcete zvýšit podobnost, měli byste nastavit MinSimilarity na hodnotu větší než hodnota ve sloupcích skóre.

Seskupení, které transformace provádí, můžete přizpůsobit nastavením vlastností sloupců ve vstupu transformace Seskupování přibližných skupin. Například FuzzyComparisonFlags vlastnost určuje, jak transformace porovnává řetězcová data ve sloupci a ExactFuzzy vlastnost určuje, zda transformace provádí přibližnou shodu nebo přesnou shodu.

Velikost paměti, kterou transformace Fuzzy Grouping používá, lze nakonfigurovat nastavením vlastní vlastnosti MaxMemoryUsage. Můžete zadat počet megabajtů (MB) nebo použít hodnotu 0, aby transformace mohla používat dynamické množství paměti na základě svých potřeb a dostupné fyzické paměti. Vlastní vlastnost MaxMemoryUsage lze aktualizovat výrazem vlastnosti při načtení balíčku. Další informace naleznete v tématu Výrazy služby SSIS (Integration Services),použití výrazů vlastností v balíčcích a transformace vlastních vlastností.

Tato transformace má jeden vstup a jeden výstup. Nepodporuje výstup chyb.

Porovnání řádků

Když konfigurujete transformaci seskupení fuzzy, můžete určit porovnávací algoritmus, který transformace používá k porovnání řádků ve vstupu transformace. Pokud nastavíte vyčerpávající vlastnost na hodnotu true, transformace porovná každý řádek ve vstupu s každým dalším řádkem ve vstupu. Tento porovnávací algoritmus může dosáhnout přesnějších výsledků, ale je pravděpodobné, že transformace bude provádět pomaleji, pokud není počet řádků ve vstupu malý. Chcete-li se vyhnout problémům s výkonem, doporučujeme nastavit vlastnost Exhaustive na true pouze během vývoje balíčku.

Dočasné tabulky a indexy

V době běhu transformace Fuzzy Grouping vytváří dočasné objekty, jako jsou tabulky a indexy, potenciálně významné velikosti, v databázi SQL Serveru, ke které se transformace připojuje. Velikost tabulek a indexů je úměrná počtu řádků ve vstupu transformace a počtu tokenů vytvořených transformací fuzzy Grouping.

Transformace také provádí dotazy na dočasné tabulky. Proto byste měli zvážit připojení transformace seskupení Fuzzy k neprodukční instanci SQL Serveru, zejména pokud má produkční server k dispozici omezené místo na disku.

Výkon této transformace se může zlepšit, pokud jsou tabulky a indexy, které používá, umístěny v místním počítači.

Konfigurace transformace Fuzzy seskupování

Vlastnosti můžete nastavit prostřednictvím návrháře SSIS nebo programově.

Další informace o vlastnostech, které můžete nastavit v dialogovém okně Rozšířený editor nebo programově, klikněte na jedno z následujících témat:

Podrobnosti o tom, jak nastavit vlastnosti této úlohy, získáte kliknutím na jedno z následujících témat:

Editor transformace přibližného seskupování (karta Správce připojení)

Pomocí karty Správce připojení v dialogovém okně Editor transformace seskupení přibližných skupin vyberte existující připojení nebo vytvořte nové.

Poznámka:

Na serveru určeném připojením musí být spuštěn SQL Server. Transformace seskupení fuzzy vytvoří dočasné datové objekty v databázi tempdb, které mohou být tak velké jako úplný vstup transformace. Při provádění transformace vydává dotazy serveru na tyto dočasné objekty. To může ovlivnit celkový výkon serveru.

Možnosti

Správce připojení OLE DB
Pomocí seznamu vyberte existujícího správce připojení OLE DB nebo vytvořte nové připojení pomocí tlačítka Nový .

Nový
Vytvořte nové připojení pomocí dialogového okna Konfigurovat Správce připojení OLE DB .

Editor transformace seskupování přibližných shod (karta Sloupce)

Pomocí karty Sloupce v dialogovém okně Editor transformace seskupení přibližných skupin určete sloupce používané k seskupení řádků s duplicitními hodnotami.

Možnosti

Dostupných vstupních sloupců
V tomto seznamu vyberte vstupní sloupce použité k seskupení řádků s duplicitními hodnotami.

název
Umožňuje zobrazit názvy dostupných vstupních sloupců.

Procházet
Vyberte, zda se má vstupní sloupec zahrnout do výstupu transformace. Všechny sloupce použité pro seskupování se automaticky zkopírují do výstupu. Další sloupce můžete zahrnout tak, že tento sloupec zaškrtnete.

vstupní sloupec
Vyberte jeden ze vstupních sloupců vybraných dříve v seznamu Dostupné vstupní sloupce .

Alias výstupu
Zadejte popisný název odpovídajícího výstupního sloupce. Ve výchozím nastavení je název výstupního sloupce stejný jako název vstupního sloupce.

Alias výstupu skupiny
Zadejte popisný název sloupce, který bude obsahovat kanonickou hodnotu pro seskupené duplicity. Výchozí název tohoto výstupního sloupce je název vstupního sloupce s připojeným _clean.

Typ shody
Vyberte přibližnou nebo přesnou shodu. Řádky jsou považovány za duplicitní, pokud jsou dostatečně podobné napříč všemi sloupci s typem přibližné shody. Pokud také zadáte přesné párování u určitých sloupců, považují se za možné duplicity pouze řádky, které obsahují stejné hodnoty v přesných odpovídajících sloupcích. Pokud tedy víte, že určitý sloupec neobsahuje žádné chyby nebo nekonzistence, můžete u tohoto sloupce určit přesnou shodu, abyste zvýšili přesnost přibližné shody u jiných sloupců.

Minimální podobnost
Nastavte prahovou hodnotu podobnosti na úrovni spojení pomocí posuvníku. Čím blíže je hodnota k 1, tím více musí vyhledávací hodnota odpovídat zdrojové hodnotě, aby byla kvalifikována jako shoda. Zvýšení prahové hodnoty může zlepšit rychlost párování, protože je potřeba zvážit méně kandidátských záznamů.

Alias výstupu podobnosti
Zadejte název nového výstupního sloupce, který obsahuje skóre podobnosti pro vybrané spojení. Pokud tuto hodnotu necháte prázdnou, výstupní sloupec se nevytvořil.

Číslovky
Zadejte význam počátečních a koncových číslic při porovnávání dat sloupce. Pokud jsou například hlavní číslice významné, nebude "123 Main Street" seskupené s "456 Main Street".

Hodnota Popis
Ani Počáteční a koncové číslice nejsou významné.
Vedoucí Důležité jsou pouze úvodní číslice.
Stopování Důležité jsou pouze koncové číslice.
Úvodní a zábradlí Přední i koncové číslice jsou významné.

Příznaky porovnání
Informace o možnostech porovnání řetězců naleznete v tématu Porovnání řetězcových dat.

Editor transformace seskupování podle nepřesných hodnot (záložka Pokročilé)

Na kartě Upřesnit v dialogovém okně Editor transformace neostrého seskupení můžete zadat vstupní a výstupní sloupce, nastavit prahové hodnoty podobnosti a definovat oddělovače.

Poznámka:

Vlastnosti Exhaustive a MaxMemoryUsage Fuzzy Grouping transformace nejsou dostupné v Editoru transformace Fuzzy Grouping, ale je možné je nastavit pomocí rozšířeného editoru. Další informace o těchto vlastnostech naleznete v sekci Transformace přibližného seskupení Vlastní vlastnosti transformace.

Možnosti

Název sloupce vstupního klíče
Zadejte název výstupního sloupce, který obsahuje jedinečný identifikátor pro každý vstupní řádek. Sloupec _key_in má hodnotu, která jednoznačně identifikuje každý řádek.

Název sloupce výstupního klíče
Zadejte název výstupního sloupce, který obsahuje jedinečný identifikátor pro kanonický řádek skupiny duplicitních řádků. Sloupec _key_out odpovídá _key_in hodnotě kanonického datového řádku.

Název sloupce skóre podobnosti
Zadejte název sloupce, který obsahuje skóre podobnosti. Skóre podobnosti je hodnota mezi 0 a 1, která označuje podobnost vstupního řádku s kanonickým řádkem. Čím je výsledek blíže hodnotě 1, tím více řádek odpovídá kanonickému řádku.

Prahová hodnota podobnosti
Nastavte prahovou hodnotu podobnosti pomocí posuvníku. Čím blíže je prahová hodnota 1, tím více se řádky musí navzájem podobat, aby se kvalifikovaly jako duplicity. Zvýšení prahové hodnoty může zvýšit rychlost párování, protože je potřeba zvážit méně kandidátských záznamů.

Oddělovače tokenů
Transformace poskytuje výchozí sadu oddělovačů pro tokenizaci dat, ale oddělovače můžete podle potřeby přidat nebo odebrat úpravou seznamu.

Viz také

Přibližná transformace vyhledávání
Transformace integračních služeb