Parsování dat

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

Toky dat v balíčcích extrahují a načítají data mezi heterogenními úložišti dat, která mohou používat různé standardní a vlastní datové typy. Zdroje integračních služeb v toku dat pracují s extrahováním dat, parsováním řetězcových dat a převodem dat na datový typ Integrační služby. Následné transformace můžou analyzovat data a převést je na jiný datový typ nebo vytvořit kopie sloupců s různými datovými typy. Výrazy používané v komponentách mohou také přetypovat argumenty a operandy na různé datové typy. Nakonec, když jsou data načtena do úložiště dat, může cíl analyzovat data a převést je na datový typ, který cíl používá. Další informace najdete v tématu datové typy integračních služeb.

Dva typy analýzy

Integrační služby poskytují dva typy analýzy pro převod dat: rychlá analýza a standardní analýza.

  • Rychlá analýza je rychlá, jednoduchá sada rutin analýzy, která nepodporuje převody datových typů specifických pro národní prostředí a podporuje pouze nejčastěji používané formáty data a času.

  • Standardní analýza je komplexní sada rutin pro analýzu, které podporují všechny konverze datových typů nabízené APIs pro konverzi datových typů v rámci Automatizace dostupnými v Oleaut32.dll a Ole2dsip.dll.

Rychlá analýza

Rychlá analýza poskytuje rychlou a jednoduchou sadu rutin pro analýzu dat. Tyto rutiny nejsou citlivé na národní prostředí a podporují pouze podmnožinu formátů data, času a celých čísel.

Požadavky a omezení

Díky implementaci rychlé analýzy balíček ztrácí svou schopnost interpretovat datum, čas a číselná data v národně specifických formátech a v mnoha často používaných základních a rozšířených formátech ISO 8601, ale zlepšuje svůj výkon. Například rychlá analýza podporuje pouze nejčastěji používané reprezentace formátu kalendářních dat, jako jsou YYYYMMDD a RRRR-MM-DD, neprovádí analýzu specifickou pro národní prostředí, nerozpoznává speciální znaky v datech měny a nedokáže převést šestnáctkové ani vědecké vyjádření celých čísel.

Rychlá analýza je k dispozici pouze v případech, kdy používáte zdroj plochých souborů nebo transformaci převodu dat. Zvýšení výkonu může být významné a měli byste zvážit použití rychlé analýzy v těchto komponentách toku dat, pokud je to možné.

Pokud tok dat v balíčku vyžaduje analýzu citlivou na národní prostředí, místo rychlé analýzy se doporučuje standardní analýza. Například rychlá analýza nerozpozná data citlivá na národní prostředí, která obsahují desetinné symboly, jako jsou čárka, formáty kalendářních dat jiné než formáty kalendářních měsíců a symboly měny.

Zkrácené reprezentace, které znamenají jednu nebo více částí kalendářních dat, jako je století, rok nebo měsíc, nejsou rozpoznány rychlým parsováním. Rychlá analýza například nerozpozná formát -YYMM, který určuje rok a měsíc v předpokládaném století, ani --MM, který určuje měsíc v předpokládaném roce. Některé reprezentace s omezenou přesností jsou však rozpoznány. Rychlá analýza například rozpozná formát "hhmm;", který označuje pouze hodinu a minutu a RRRR, což označuje pouze rok.

Rychlá analýza se zadává na úrovni sloupce. Ve zdroji Flat File a transformaci Data Conversion můžete u výstupních sloupců zadat rychlý parsing. Vstupy a výstupy můžou zahrnovat sloupce citlivé na národní prostředí i bez rozlišení národního prostředí.

Číselné datové formáty (Fast Parse)

Rychlá analýza poskytuje rychlou, jednoduchou sadu rutin bez rozlišení národního prostředí pro analýzu dat. Rychlá analýza podporuje pouze omezenou sadu formátů pro celočíselné datové typy.

celočíselný datový typ

Celočíselné datové typy, které integrační služby poskytují, jsou DT_I1, DT_UI1, DT_I2, DT_UI2, DT_I4, DT_UI4, DT_I8 a DT_UI8. Další informace najdete v tématu datové typy integračních služeb.

Rychlá analýza podporuje následující formáty pro celočíselné datové typy:

  • Nula nebo více úvodních a koncových mezer nebo zarážek tabulátoru. Například hodnota 123 je platná. Hodnota, která je tvořena pouze mezerami, je vyhodnocena jako nula.

  • Úvodní znaménko plus, znaménko minus nebo ani jedno. Například hodnoty +123, -123 a 123 jsou platné.

  • Jedna nebo více hindu-arabských číslic (0–9). Například hodnota 345 je platná. Číslice jiných jazyků nejsou podporovány.

Mezi nepodporované formáty dat patří:

  • Speciální znaky. Například znak měny $ není podporován a hodnotu $20 nelze analyzovat.

  • Znaky bílého místa, jako je odřádkování, návrat na začátek řádku a nezlomitelné mezery. Například hodnotu 123 nelze analyzovat.

  • Šestnáctkové reprezentace celých čísel. Například hodnotu 2EE nelze analyzovat.

  • Reprezentace celých čísel vědeckým zápisem Například hodnotu 1E+10 nelze analyzovat.

Následující formáty jsou formáty výstupních dat pro celá čísla:

  • Znaménko mínus pro záporná čísla a nic pro kladné.

  • Žádné mezery.

  • Jedna nebo více hindu-arabských číslic (0–9).

Datum a časové formáty (Fast Parse)

Rychlá analýza poskytuje rychlou a jednoduchou sadu rutin pro analýzu dat. Rychlá analýza podporuje následující formáty pro datové typy data a času.

Datový typ Datum

Rychlé parsování podporuje následující formáty řetězců pro datum.

  • Formáty dat, které obsahují úvodní prázdné znaky. Například hodnota 2004- 02-03 je platná.

  • Formáty ISO 8601, jak je uvedeno v následující tabulce:

    Formát Description
    RRRRMMDD

    YYYY-MM-DD
    Základní a rozšířené formáty pro čtyřciferný rok, dvouciferný měsíc a dvouciferný den. V rozšířeném formátu jsou části kalendářních dat oddělené spojovníkem (-).
    YYYY-MM Základní a rozšířené formáty s omezenou přesností pro čtyřciferný rok a dvouciferný měsíc V rozšířeném formátu jsou části kalendářních dat oddělené spojovníkem (-).
    RRRR Formát zmenšené přesnosti je čtyřmístný rok.

Funkce Fast Parse nepodporuje pro data kalendářních dat následující formáty:

  • Abecední hodnoty měsíce Například formát data 31. října 2003 není platný.

  • Nejednoznačné formáty, jako jsou DD-MM-YYYY a MM-DD-YYYY. Například data 03-04-1995 a 04-03-1995 nejsou platná.

  • Základní a rozšířené zkrácené formáty čtyřmístného kalendářního roku a tříciferného dne v rámci roku, YYYDDDD a YYYY-DDD.

  • Základní a rozšířené formáty zahrnují čtyřmístná čísla pro rok, dvouciferná čísla pro týden roku a jednociferná čísla pro den v týdnu, ve formátech jako YYYYWwwD a YYYY-Www-D.

  • Základní a rozšířené zkrácené formáty pro rok a datum týdne jsou čtyřciferné a dvouciferné číslo pro týden, YYYWwww a YYYY-Www

Rychlé parsování vyhodí data jako DT_DBDATE. Hodnoty dat ve zkrácených formátech jsou doplněny. Například YYYY SE stane YYYY0101.

Další informace najdete v tématu datové typy integračních služeb.

Datový typ Čas

Rychlá analýza podporuje pro časová data následující formáty řetězců:

  • Formáty času, které obsahují úvodní prázdné znaky. Například hodnota 10:24 je platná.

  • 24hodinový formát. Rychlá analýza nepodporuje zápis AM a PM.

  • Formáty času ISO 8601, jak je uvedeno v následující tabulce:

    Formát Description
    HHMISS

    HH:MM:SS
    Základní a rozšířené formáty pro dvoucifernou hodinu, dvoucifernou minutu a dvoucifernou sekundu. V rozšířeném formátu jsou časové části oddělené dvojtečkam (:).
    HHMI

    HH:MI
    Základní a rozšířený omezený formát pro dvoumístnou hodinu a dvoumístnou minutu. V rozšířeném formátu jsou časové části oddělené dvojtečkam (:).
    HH Zkrácený formát pro dvoucifernou hodinu
    00:00:00

    000000

    0000

    00

    240000

    24:00:00

    2400

    dvacet čtyři
    Formát pro půlnoc.
  • Formáty času, které určují časové pásmo, jak je uvedeno v následující tabulce:

    Formát Description
    +HH:MI

    +HHMI
    Základní a rozšířené formáty, které označují počet hodin a minut přidaných do koordinovaného univerzálního času (UTC) pro získání místního času.
    -HH:MI

    -HHMI
    Základní a rozšířené formáty, které označují počet hodin a minut odečítaných od UTC, aby se získal místní čas.
    +HH Zkrácený formát označující počet hodin, které se přidají do UTC k získání místního času.
    -HH Zkrácený formát označující počet hodin, které se odečtou od utc, aby se získal místní čas.
    Z Hodnota 0, která označuje čas, je reprezentován v UTC.

    Formáty pro všechna časová a datumová/časová data mohou obsahovat prvek časového pásma. Systém však ignoruje hodnotu časového pásma s výjimkou případů, kdy jsou data typu DT_DBTIMESTAMPOFFSET. Další informace najdete v tématu datové typy integračních služeb.

    Ve formátech, které obsahují prvek časového pásma, neexistuje mezi časovým prvkem a prvkem časového pásma mezera, jak je znázorněno v následujícím příkladu:

    HH:MI:SS[+HH:MI]

    Hranaté závorky v předchozím příkladu označují, že hodnota časového pásma je volitelná.

  • Formáty času, které obsahují desetinnou čárku, jak je uvedeno v následující tabulce:

    Formát Description
    HH[.nnnnnnn] n je hodnota mezi 0 a 9999999, která představuje zlomek hodin. Hranaté závorky označují, že tato hodnota je volitelná.

    Například hodnota 12,750 označuje 12:45.
    HHMI[.nnnnnnn]

    HH:MI[.nnnnnnn]
    n je hodnota mezi 0 a 9999999, která představuje zlomek minut. Hranaté závorky označují, že tato hodnota je volitelná.

    Například hodnota 1220,500 označuje 12:20:30.
    HHMISS[.nnnnnnn]

    HH:MI:SS[.nnnnnnn]
    n je hodnota mezi 0 a 9999999, která představuje zlomek sekund. Hranaté závorky označují, že tato hodnota je volitelná.

    Například hodnota 122040,250 označuje 12:20:40,15.

    Poznámka:

    Oddělovačem zlomku pro formáty času v předchozí tabulce může být tečka nebo čárka.

  • Časové hodnoty, které zahrnují přestupnou sekundu, jak je znázorněno v následujících příkladech:

    23:59:60[.0000000]

    235960[.0000000]

Rychlé parsování výstupů převede řetězce na formáty DT_DBTIME a DT_DBTIME2. Časové hodnoty v zkrácených formátech jsou doplněné. Například HH:MI se stane HH:MM:00.000.

Další informace najdete v tématu datové typy integračních služeb.

Datový typ Datum a čas

Rychlá analýza podporuje následující formáty datových a časových řetězců:

  • Formáty, které obsahují úvodní prázdné znaky. Například hodnota 2003-01-10T203910 je platná.

  • Kombinace platných formátů kalendářních dat a platných formátů času oddělených velkým písmenem T a platných formátů časového pásma, například YYYMMDDT[HHMISS][+HHH:MI]. Hodnoty času a časového pásma nejsou povinné. Například "2003-10-14" je platný.

Rychlá analýza nepodporuje časové intervaly. Například časový interval identifikovaný počátečním a koncovým datem a časem ve formátu RRRRMMDDThhmmss/RRRRMMDDThhmmss nelze rozpoznat.

Rychle analyzuje řetězce jako DT_DATE, DT_DBTIMESTAMP, DT_DBTIMESTAMP2 a DT_DBTIMESTAMPOFFSET. Hodnoty data a času v zkrácených formátech jsou doplněné. V následující tabulce jsou uvedeny hodnoty přidané pro chybějící části data a času.

Datum a čas – část Polstrování
Sekundy Přidejte 00.
Minutes Přidat 00:00.
Hodina Přidat 00:00:00.
Day Přidejte hodnotu 01 pro den v měsíci.
Měsíc Přidejte hodnotu 01 pro měsíc v roce.

Další informace najdete v tématu datové typy integračních služeb.

Povolení rychlé analýzy

Vlastnost rychlé analýzy musí být nastavena pro každý sloupec zdroje nebo transformace, který používá rychlou analýzu. Chcete-li nastavit vlastnost, použijte rozšířený editor pro plošný souborový zdroj a transformaci převodu dat.

  1. Klikněte pravým tlačítkem myši na Flat File zdroj nebo Data Conversion transformaci a potom klikněte na Zobrazit rozšířený editor.

  2. V dialogovém okně Rozšířený editor klikněte na kartu Vlastnosti vstupu a výstupu .

  3. V podokně Vstupy a výstupy klikněte na sloupec, pro který chcete povolit rychlou analýzu.

  4. V okně Vlastnosti rozbalte uzel Vlastní vlastnosti a pak nastavte FastParse vlastnost True.

  5. Klikněte na OK.

Standardní analýza

Standardní analýza je sada rutin analýzy citlivé na národní prostředí, která podporuje všechny převody datových typů poskytovaných rozhraními API pro převod datových typů služby Automation, které jsou k dispozici v Oleaut32.dll a Ole2dsip.dll. Standardní analýza je ekvivalentní rozhraním API pro analýzu OLE DB.

Standardní analýza poskytuje podporu pro převod datových typů mezinárodních dat a měla by se použít, pokud fast parse nepodporuje formát dat.