Súbory s rozlíšením dotazu

Vzťahuje sa na:✅ koncový bod analýzy SQL a sklad v službe Microsoft Fabric

V tomto článku sa naučíte, ako dotazovať CSV súbory pomocou Fabric SQL, vrátane Fabric Data Warehouse a SQL analytics endpointu. CSV je bežne používaný a flexibilný dátový formát, ale štruktúra súborov sa môže výrazne líšiť, čo ovplyvňuje spôsob, akým ich dotazujete.

Príklady v tomto článku ukazujú, ako dotazovať CSV súbory, ktoré sa líšia bežnými vlastnosťami, vrátane:

  • Súbory s alebo bez hlavičkového riadku
  • Hodnoty ohraničené čiarkou a tabulátorom
  • Koncovky riadkov Windows (CRLF) a Unix (LF)
  • Citované a necitované hodnoty, vrátane uniknutých postáv

Každá variácia je pokrytá v nasledujúcich sekciách, s praktickými príkladmi, ktoré ukazujú, ako správne nastaviť svoje dotazy na správnu interpretáciu formátu súboru a vrátenie presných výsledkov pri práci s CSV údajmi vo Fabric.

Prečítaj CSV súbor pomocou OPENROWSET

Najjednoduchší spôsob, ako skontrolovať obsah CSV súboru, je zadať URL súboru priamo funkcii.OPENROWSET

Ak je súbor verejne prístupný, alebo ak má váš Microsoft Entra ID povolenie na prístup k úložisku, môžete sa na súbor dopytovať pomocou príkazu podobného nasledujúcemu príkladu:

SELECT TOP 10 *
FROM OPENROWSET(
    BULK 'https://<storage account>.blob.core.windows.net/public/<subfolder>/<file name>.csv',
    HEADER_ROW = TRUE
);

Prečítaj TSV súbor pomocou OPENROWSET

Na čítanie súborov s hodnotami oddelenými tabulátormi (TSV) môžete použiť OPENROWSET priamym zadaním URL súboru.

Uistite sa, že URL odkazuje na správny súbor a končí príponou .tsv, aby ste jasne označili formát:

SELECT TOP 10 *
FROM OPENROWSET(
    BULK '<subfolder>/<file name>.tsv'
);

Poznámka

Tento príklad používa relatívnu cestu bez dátového zdroja, čo funguje pri dotazovaní súborov vo vašom Lakehouse cez jeho SQL analytics endpoint. V Fabric Data Warehouse musíte buď:

  • Použite absolútnu cestu k súboru, alebo
  • Špecifikujte koreňovú URL adresu v externom zdroji dát a odkazujte na ňu v príkaze OPENROWSET .

Ak prípona nie je .tsv, stále ho môžete čítať ako súbor oddelený tabulátormi prepísaním predvoleného oddeľovača.

Použite FIELDTERMINATOR = '\t' možnosť v príkaze OPENROWSET na určenie znaku tabulátor ako oddeľovač stĺpca.

Prečítaj delimitovaný súbor pomocou OPENROWSET

OPENROWSET umožňuje čítanie generických oddelených súborov, ako sú CSV, TSV alebo iné textové formáty, špecifikovaním príslušných oddeľovačov a možností.

SELECT TOP 10 *
FROM OPENROWSET(
    BULK '<subfolder>/<file name>.txt',
    FORMAT = 'CSV',                -- Use CSV for delimited files
    FIELDTERMINATOR = ';',         -- Column delimiter
    ROWTERMINATOR = '\n',          -- Row delimiter
    FIELDQUOTE = '0x0A',           -- Optional: quote character
    FIRSTROW = 2,                  -- Skip header row
    CODEPAGE = '855'               -- Character encoding
);
  1. Použite FIELDTERMINATOR a ROWTERMINATOR na definovanie oddeľovačov stĺpcov a riadkov pre váš súbor. Tieto možnosti zabezpečujú, že dotaz správne interpretuje štruktúru dát.
  2. Ak váš súbor obsahuje hlavičkový riadok, ktorý nechcete zahrnúť do výsledkov, použite FIRSTROW možnosť ho preskočiť. Táto možnosť je obzvlášť užitočná pre súbory, kde prvý riadok obsahuje názvy stĺpcov namiesto dát.
  3. Nakoniec špecifikujte , CODEPAGE aby ste zabezpečili správne kódovanie znakov. Táto možnosť je dôležitá pri práci so súbormi, ktoré obsahujú špeciálne znaky alebo používajú neštandardné kódovanie, pretože zaručuje presnú interpretáciu dát.

Poznámka

Tento príklad používa relatívnu cestu bez dátového zdroja, čo funguje pri dotazovaní súborov vo vašom Lakehouse cez jeho SQL analytics endpoint. V Fabric Data Warehouse musíte buď:

  • Použite absolútnu cestu k súboru, alebo
  • Špecifikujte koreňovú URL adresu v externom zdroji dát a odkazujte na ňu v príkaze OPENROWSET .