Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí na: SQL Server 2016 (13.x) a pozdější verze
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Platform System (PDW)
SQL database in Microsoft Fabric
Vytváří externí objekt formátu souboru, který definuje externí data uložená v Hadoop, Azure Blob Storage, Azure Data Lake Store, OneLake v Microsoft Fabric nebo pro vstupní a výstupní proudy spojené s externími toky. Vytvoření formátu externího souboru je předpokladem pro vytvoření externí tabulky. Vytvořením formátu externího souboru určíte skutečné rozložení dat odkazovaných externí tabulkou. Pokud chcete vytvořit externí tabulku, přečtěte si téma CREATE EXTERNAL TABLE (Transact-SQL).
Podporují se následující formáty souborů:
Text s oddělovači
SQL databáze v Microsoft Fabric podporuje pouze CSV formát s vymezeným textem.
Hive RCFile
Neplatí pro Azure Synapse Analytics, Azure SQL Managed Instance, Azure SQL Database, SQL databázi v Microsoft Fabric ani SQL Server 2022 (16.x).
Podregistr ORC
Neplatí pro Azure Synapse Analytics, Azure SQL Managed Instance, Azure SQL Database, SQL databázi v Microsoft Fabric ani SQL Server 2022 (16.x).
Parkety
JSON
Platí jenom pro Azure SQL Edge. Informace o použití
OPENROWSETk importu dat JSON na jiných platformách najdete v tématu Import dokumentů JSON do SQL Serveru nebo dotazování souborů JSON pomocí bezserverového fondu SQL ve službě Azure Synapse Analytics.Delta
Platí pouze pro serverless SQL pooly v Azure Synapse Analytics, Azure SQL Database, SQL Server 2022 (16.x) a novějších verzích. Můžete dotazovat Delta Lake verze 1.0. Změny zavedené od verze Delta Lake 1.2, jako je přejmenování sloupců, se nepodporují. Pokud používáte vyšší verze Delta s vektory odstranění, kontrolními body v2 a dalšími funkcemi, zvažte použití jiných dotazovacích modulů, jako je koncový bod Microsoft Fabric SQL Analytics pro Lakehouses.
Syntaxe
-- Create an external file format for DELIMITED (CSV/TSV) files.
CREATE EXTERNAL FILE FORMAT file_format_name
WITH (
FORMAT_TYPE = DELIMITEDTEXT
[ , FORMAT_OPTIONS ( <format_options> [ ,...n ] ) ]
[ , DATA_COMPRESSION = {
'org.apache.hadoop.io.compress.GzipCodec'
}
]);
<format_options> ::=
{
FIELD_TERMINATOR = field_terminator
| STRING_DELIMITER = string_delimiter
| FIRST_ROW = integer -- Applies to: Azure Synapse Analytics and SQL Server 2022 and later versions
| DATE_FORMAT = datetime_format
| USE_TYPE_DEFAULT = { TRUE | FALSE }
| ENCODING = {'UTF8' | 'UTF16'}
| PARSER_VERSION = {'parser_version'}
}
Argumenty
file_format_name
Určuje název pro formát externího souboru.
TYP_FORMÁTU
Určuje formát externích dat.
FORMAT_TYPE = PARKET
Určuje formát Parquet.
FORMAT_TYPE = ORC
Určuje formát ORC (Optimized Row Columnar). Tato možnost vyžaduje Hive verze 0.11 nebo vyšší v externím clusteru Hadoop. V Systému Hadoop nabízí formát souboru ORC lepší kompresi a výkon než formát RCFILE.
FORMAT_TYPE = RCFILE, SERDE_METHOD = SERDE_method
Určuje formát souboru RcFile (Record Columnar). Tato možnost vyžaduje, abyste zadali metodu Hive Serializer a Deserializer (SerDe). Tento požadavek je stejný, pokud k dotazování souborů RC používáte Hive/HiveQL v Hadoopu. Všimněte si, že metoda SerDe rozlišují malá a velká písmena.
Příklady zadání RCFile se dvěma metodami SerDe, které PolyBase podporuje.
FORMAT_TYPE = RCFILE, SERDE_METHOD = 'org.apache.hadoop.hive.serde2.columnar.LazyBinaryColumnarSerDe'FORMAT_TYPE = RCFILE, SERDE_METHOD = 'org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe'
FORMAT_TYPE = OMEZENÝ TEXT
Specifikuje textový formát s oddělovači sloupců, známými také jako koncové pole (field terminators).
FORMAT_TYPE = JSON
Určuje formát JSON. Platí jenom pro Azure SQL Edge.
FORMAT_TYPE = DELTA
Určuje formát Delta Lake. Platí pro bezserverové fondy SQL v Azure Synapse Analytics a SQL Serveru 2022 (16.x).
FORMAT_OPTIONS
Volitelný. Pouze pro textové datové typy s oddělovači.
Podpora PARSER_VERSIONpouze bezserverových fondů SQL ve službě Azure Synapse Analytics.
Bezserverové fondy SQL možnost nepodporují DATE_FORMAT .
DATA_COMPRESSION = data_compression_method
Určuje metodu komprese dat pro externí data. Pokud DATA_COMPRESSION není zadáno, výchozí je nekomprimovaná data.
Aby správně fungovaly, musí mít komprimované soubory Gzip příponu .gz souboru.
Typ DELIMITEDTEXT formátu podporuje tuto metodu komprese: DATA_COMPRESSION = org.apache.hadoop.io.compress.GzipCodec
Možnosti formátu textu s oddělovači
Možnosti formátu popsané v této části jsou volitelné a vztahují se pouze na textové soubory s oddělovači.
FIELD_TERMINATOR = field_terminator
Platí jenom pro textové soubory s oddělovači. Ukončovací znak pole určuje jeden nebo více znaků, které označují konec každého pole (sloupce) v textovém souboru s oddělovači. Výchozí hodnota je znak |svislé roury . Pro zaručenou podporu doporučujeme použít jeden nebo více znaků ASCII.
Příklady:
FIELD_TERMINATOR = '|'FIELD_TERMINATOR = ' 'FIELD_TERMINATOR = ꞌ\tꞌFIELD_TERMINATOR = '~|~'
oddělovač řetězce
STRING_DELIMITER = *string_delimiter*
Určuje znak, který uzavře textové hodnoty do textového souboru s oddělovači. Výchozí hodnota je prázdný řetězec "". Hodnota STRING_DELIMITER je funkčně ekvivalentní možnosti FIELDQUOTE ve OPENROWSET BULK funkci.
Poznámka:
Tabulky Hadoop ve vyhrazených fondech SQL Synapse umožňují zadat jeden nebo více znaků v STRING_DELIMITER. V bezserverovém fondu SQL můžete použít pouze jeden znak.
Příklady:
STRING_DELIMITER = '"'STRING_DELIMITER = '0x22'(Dvojitá uvozovka hex)STRING_DELIMITER = '*'STRING_DELIMITER = ꞌ,ꞌSTRING_DELIMITER = '0x7E0x7E'(Například~~dvě tildy) – podporováno ve vyhrazeném fondu SQL.
FIRST_ROW = first_row_int
Platí pro: Azure Synapse Analytics, SQL Server 2022 a novější verze
Určuje číslo řádku, které se při načítání PolyBase čte jako první ve všech souborech. Tento parametr může mít hodnoty 1 až 15. Pokud je hodnota nastavená na dvě, při načtení dat se první řádek v každém souboru (řádku záhlaví) přeskočí. Řádky se přeskočí na základě existence ukončovačů řádků (/r/n, /r, /n). Pokud se tato možnost používá k exportu, řádky se přidají do dat, aby se zajistilo, že se soubor dá číst bez ztráty dat. Pokud je hodnota nastavena na >hodnotu 2, první řádek exportovaný je názvy sloupců externí tabulky.
DATE_FORMAT = datetime_format
Určuje vlastní formát pro všechna data data a času, která se můžou zobrazovat v textovém souboru s oddělovači. Pokud zdrojový soubor používá výchozí formáty data a času, tato možnost není nutná. Pro každý soubor je povolený pouze jeden vlastní formát data a času. Pro každý soubor nelze zadat více než jeden vlastní formát data a času. Pokud je ale každý z nich výchozím formátem pro příslušný datový typ v definici externí tabulky, můžete použít více formátů data a času.
Důležité
PolyBase používá pouze vlastní formát data pro import dat. Nepoužívá vlastní formát pro zápis dat do externího souboru.
Pokud DATE_FORMAT není zadán nebo je prázdný řetězec, PolyBase používá následující výchozí formáty:
datum a čas:
'yyyy-MM-dd HH:mm:ss'Malé randetime:
'yyyy-MM-dd HH:mm'datum:
'yyyy-MM-dd'DateTime2:
'yyyy-MM-dd HH:mm:ss'DateTimeoffset:
'yyyy-MM-dd HH:mm:ss'čas:
'HH:mm:ss'
Důležité
Zadání vlastních DATE_FORMAT formátů přepíše všechny výchozí formáty typů. To znamená, že budete muset mít stejné formáty kalendářních dat ve všech buňkách data a času ve všech datech, datech a časech v souborech. Při přepsání DATE_FORMATnemůžete mít hodnoty data a času v jiném formátu.
Příklady formátů kalendářních dat jsou v následující tabulce:
Poznámky k tabulce:
Rok, měsíc a den můžou mít několik formátů a objednávek. Tabulka zobrazuje pouze formát ymd . Měsíc může mít jednu nebo dvě číslice nebo tři znaky. Den může mít jednu nebo dvě číslice. Rok může mít dvě nebo čtyři číslice.
Milisekundy (
fffffff) nejsou povinné.amnebopm(tt) není povinné. Výchozí hodnota jeAM.
| Typ datumu | Příklad | Popis |
|---|---|---|
| datum a čas | DATE_FORMAT = yyyy-MM-dd HH:mm:ss.fff |
Kromě roku, měsíce a dne zahrnuje tento formát data 00–24 hodin, 00–59 minut, 00–59 sekund a tři číslice pro milisekundy. |
| datum a čas | DATE_FORMAT = yyyy-MM-dd hh:mm:ss.ffftt |
Kromě roku, měsíce a dne zahrnuje tento formát data 00–12 hodin, 00–59 minut, 00–59 sekund, tři číslice pro milisekundy a AM, am, , PMnebo pm. |
| smalldatetime | DATE_FORMAT = yyyy-MM-dd HH:mm |
Kromě roku, měsíce a dne zahrnuje tento formát data 00–23 hodin, 00–59 minut. |
| smalldatetime | DATE_FORMAT = yyyy-MM-dd hh:mmtt |
Kromě roku, měsíce a dne zahrnuje tento formát data 00–11 hodin, 00–59 minut, bez sekund a AM, am, PMnebo pm. |
| datum | DATE_FORMAT = yyyy-MM-dd |
Rok, měsíc a den. Není zahrnutý žádný časový prvek. |
| datum | DATE_FORMAT = yyyy-MMM-dd |
Rok, měsíc a den. Pokud je měsíc zadán s MMM, vstupní hodnota je jedna nebo řetězce, Jan, , Feb, Mar, Apr, MayJun, , Jul, , Aug, , Sep, , Octnebo NovDec. |
| datetime2 | DATE_FORMAT = yyyy-MM-dd HH:mm:ss.fffffff |
Kromě roku, měsíce a dne zahrnuje tento formát data 00–23 hodin, 00–59 minut, 00–59 sekund a sedm číslic pro milisekundy. |
| datetime2 | DATE_FORMAT = yyyy-MM-dd hh:mm:ss.ffffffftt |
Kromě roku, měsíce a dne zahrnuje tento formát data 00–11 hodin, 00–59 minut, 00–59 sekund, sedm číslic pro milisekundy a AM, am, , PMnebo pm. |
| datetimeoffset | DATE_FORMAT = yyyy-MM-dd HH:mm:ss.fffffff zzz |
Kromě roku, měsíce a dne zahrnuje tento formát data 00–23 hodin, 00–59 minut, 00–59 sekund a 7 číslic pro milisekundy a posun časového pásma, který vložíte do vstupního souboru jako {+|-}HH:ss. Například vzhledem k tomu, že los angelesský čas bez letního času je 8 hodin za UTC, určuje hodnota -08:00 ve vstupním souboru časové pásmo pro Los Angeles. |
| datetimeoffset | DATE_FORMAT = yyyy-MM-dd hh:mm:ss.ffffffftt zzz |
Kromě roku, měsíce a dne zahrnuje tento formát data 00–11 hodin, 00–59 minut, 00–59 sekund, sedm číslic pro milisekundy, (AM, am, PMnebo pm) a posun časového pásma. Podívejte se na popis v předchozím řádku. |
| Čas | DATE_FORMAT = HH:mm:ss |
Neexistuje žádná hodnota data, pouze 00–23 hodin, 00–59 minut a 00–59 sekund. |
Podporované formáty data a času
Formát externího souboru může popisovat velký počet formátů data a času:
| datum a čas | smalldatetime | datum | datetime2 | datetimeoffset |
|---|---|---|---|---|
[M[M]]M-[d]d-[yy]yy HH:mm:ss[.fff] |
[M[M]]M-[d]d-[yy]yy HH:mm[:00] |
[M[M]]M-[d]d-[yy]yy |
[M[M]]M-[d]d-[yy]yy HH:mm:ss[.fffffff] |
[M[M]]M-[d]d-[yy]yy HH:mm:ss[.fffffff] zzz |
[M[M]]M-[d]d-[yy]yy hh:mm:ss[.fff][tt] |
[M[M]]M-[d]d-[yy]yy hh:mm[:00][tt] |
[M[M]]M-[d]d-[yy]yy hh:mm:ss[.fffffff][tt] |
[M[M]]M-[d]d-[yy]yy hh:mm:ss[.fffffff][tt] zzz |
|
[M[M]]M-[yy]yy-[d]d HH:mm:ss[.fff] |
[M[M]]M-[yy]yy-[d]d HH:mm[:00] |
[M[M]]M-[yy]yy-[d]d |
[M[M]]M-[yy]yy-[d]d HH:mm:ss[.fffffff] |
[M[M]]M-[yy]yy-[d]d HH:mm:ss[.fffffff] zzz |
[M[M]]M-[yy]yy-[d]d hh:mm:ss[.fff][tt] |
[M[M]]M-[yy]yy-[d]d hh:mm[:00][tt] |
[M[M]]M-[yy]yy-[d]d hh:mm:ss[.fffffff][tt] |
[M[M]]M-[yy]yy-[d]d hh:mm:ss[.fffffff][tt] zzz |
|
[yy]yy-[M[M]]M-[d]d HH:mm:ss[.fff] |
[yy]yy-[M[M]]M-[d]d HH:mm[:00] |
[yy]yy-[M[M]]M-[d]d |
[yy]yy-[M[M]]M-[d]d HH:mm:ss[.fffffff] |
[yy]yy-[M[M]]M-[d]d HH:mm:ss[.fffffff] zzz |
[yy]yy-[M[M]]M-[d]d hh:mm:ss[.fff][tt] |
[yy]yy-[M[M]]M-[d]d hh:mm[:00][tt] |
[yy]yy-[M[M]]M-[d]d hh:mm:ss[.fffffff][tt] |
[yy]yy-[M[M]]M-[d]d hh:mm:ss[.fffffff][tt] zzz |
|
[yy]yy-[d]d-[M[M]]M HH:mm:ss[.fff] |
[yy]yy-[d]d-[M[M]]M HH:mm[:00] |
[yy]yy-[d]d-[M[M]]M |
[yy]yy-[d]d-[M[M]]M HH:mm:ss[.fffffff] |
[yy]yy-[d]d-[M[M]]M HH:mm:ss[.fffffff] zzz |
[yy]yy-[d]d-[M[M]]M hh:mm:ss[.fff][tt] |
[yy]yy-[d]d-[M[M]]M hh:mm[:00][tt] |
[yy]yy-[d]d-[M[M]]M hh:mm:ss[.fffffff][tt] |
[yy]yy-[d]d-[M[M]]M hh:mm:ss[.fffffff][tt] zzz |
|
[d]d-[M[M]]M-[yy]yy HH:mm:ss[.fff] |
[d]d-[M[M]]M-[yy]yy HH:mm[:00] |
[d]d-[M[M]]M-[yy]yy |
[d]d-[M[M]]M-[yy]yy HH:mm:ss[.fffffff] |
[d]d-[M[M]]M-[yy]yy HH:mm:ss[.fffffff] zzz |
[d]d-[M[M]]M-[yy]yy hh:mm:ss[.fff][tt] |
[d]d-[M[M]]M-[yy]yy hh:mm[:00][tt] |
[d]d-[M[M]]M-[yy]yy hh:mm:ss[.fffffff][tt] |
[d]d-[M[M]]M-[yy]yy hh:mm:ss[.fffffff][tt] zzz |
|
[d]d-[yy]yy-[M[M]]M HH:mm:ss[.fff] |
[d]d-[yy]yy-[M[M]]M HH:mm[:00] |
[d]d-[yy]yy-[M[M]]M |
[d]d-[yy]yy-[M[M]]M HH:mm:ss[.fffffff] |
[d]d-[yy]yy-[M[M]]M HH:mm:ss[.fffffff] zzz |
[d]d-[yy]yy-[M[M]]M hh:mm:ss[.fff][tt] |
[d]d-[yy]yy-[M[M]]M hh:mm[:00][tt] |
[d]d-[yy]yy-[M[M]]M hh:mm:ss[.fffffff][tt] |
[d]d-[yy]yy-[M[M]]M hh:mm:ss[.fffffff][tt] zzz |
Podrobnosti:
Chcete-li oddělit hodnoty měsíce, dne a roku, je nutné použít jeden z následujících oddělovačů:
-,/, nebo.. Pro zjednodušení tabulka používá pouze-oddělovač.Pokud chcete zadat měsíc jako text, použijte tři nebo více znaků. Měsíce s jedním nebo dvěma znaky se interpretují jako číslo.
K oddělení časových hodnot použijte
:symbol.Písmena uzavřená v hranatých závorkách jsou volitelná.
Písmena
ttoznačují [AM|PM|am|pm].AMje výchozí. Pokudttje zadána hodnota hodiny (hh) musí být v rozsahu od 0 do 12.Písmena
zzzoznačují posun časového pásma pro aktuální časové pásmo systému ve formátu{+|-}HH:ss].
USE_TYPE_DEFAULT = { PRAVDA | FALSE }
Určuje, jak zpracovat chybějící hodnoty v textových souborech s oddělovači, když PolyBase načte data z textového souboru. Výchozí hodnota je FALSE.
PRAVDIVÝ
Při načítání dat z textového souboru uložte každou chybějící hodnotu pomocí výchozí hodnoty pro datový typ odpovídajícího sloupce v definici externí tabulky. Například nahraďte chybějící hodnotu následujícím kódem:
0pokud je sloupec definován jako číselný sloupec. Desetinné sloupce nejsou podporované a dojde k chybě.Prázdný řetězec "", pokud je sloupec řetězcový sloupec.
1900-01-01pokud je sloupec sloupcem kalendářního data.Ve službě Azure Synapse Analytics
USE_TYPE_DEFAULT=truese nepodporujeFORMAT_TYPE = DELIMITEDTEXT, PARSER_VERSION = '2.0'.
NEPRAVDA
Uložte všechny chybějící hodnoty jako
NULL. VšechnyNULLhodnoty uložené pomocí slovaNULLv textovém souboru s oddělovači se naimportují jako řetězecNULL.
KÓDOVÁNÍ = {'UTF8' | 'UTF16'}
Ve službě Azure Synapse Analytics a Analytics Platform System (PDW) (APS CU7.4) může PolyBase číst UTF8 a UTF16-LE kódované textové soubory s oddělovači.
PolyBase na SQL Serveru nepodporuje čtení souborů s kódováním UTF16.
Povolení
Vyžaduje oprávnění ALTER ANY EXTERNAL FILE FORMAT.
Poznámky
Formát externího souboru je oborem databáze v SQL Serveru a Azure Synapse Analytics. Je vymezený serverem v systému PDW (Analytics Platform System).
Formát Hadoop je podporován pouze v SQL Server 2016, 2017 a 2019.
Možnosti formátu jsou všechny volitelné a vztahují se pouze na textové soubory s oddělovači.
Pokud jsou data uložena v jednom z komprimovaných formátů, PolyBase nejprve dekomprimuje data před vrácením datových záznamů.
SQL databáze v Microsoft Fabric podporuje pouze formát CSV s odděleným textem a Parquet formáty souborů. Fabric SQL databáze podporuje OneLake pouze v Microsoft Fabric jako zdroj dat.
Omezení
Oddělovač řádků v textových souborech s oddělovači musí být podporován čtečkou LineRecordReader systému Hadoop. To znamená, že musí být buď \r, \nnebo \r\n. Tyto oddělovače nejsou konfigurovatelné uživatelem.
Kombinace podporovaných metod SerDe s RCFiles a podporované metody komprese dat jsou uvedeny dříve v tomto článku. Nepodporují se všechny kombinace.
Maximální počet souběžných dotazů PolyBase je 32. Když je spuštěno 32 souběžných dotazů, může každý dotaz číst maximálně 33 000 souborů z umístění externího souboru. Kořenová složka a každá podsložka se také počítají jako soubor. Pokud je stupeň souběžnosti menší než 32, může umístění externího souboru obsahovat více než 33 000 souborů.
Kvůli omezení počtu souborů v externí tabulce doporučujeme uložit méně než 30 000 souborů v kořenovém adresáři a podsložkách umístění externího souboru. Doporučujeme také zachovat počet podsložek v kořenovém adresáři na malé číslo. Pokud se odkazuje na příliš mnoho souborů, může dojít k výjimce z nedostatku paměti virtuálního počítače Java.
Při exportu dat do Hadoopu nebo Azure Blob Storage prostřednictvím PolyBase se exportují pouze data, nikoli názvy sloupců (metadata) definované v příkazu CREATE EXTERNAL TABLE.
Uzamčení
Vezme sdílený zámek u objektu EXTERNAL FILE FORMAT.
Výkon
Použití komprimovaných souborů vždy přináší kompromis mezi přenosem méně dat mezi externím zdrojem dat a SQL Serverem a zvýšením využití procesoru ke komprimaci a dekomprimaci dat.
Komprimované textové soubory Gzip nejsou rozdělené. Pokud chcete zvýšit výkon komprimovaných textových souborů Gzip, doporučujeme generovat více souborů, které jsou všechny uložené ve stejném adresáři v rámci externího zdroje dat. Tato struktura souborů umožňuje PolyBase rychleji číst a dekomprimovat data pomocí více procesů čtení a dekomprese. Ideální počet komprimovaných souborů je maximální počet procesů čtečky dat na výpočetní uzel. Na SQL Serveru
V systému PDW (Analytics Platform System) je maximální počet procesů čtečky dat 8 na uzel. V Azure Synapse Analytics je maximální počet procesů čtečky dat 20 čtenářů na uzel.
Příklady
A. Vytvoření formátu externího souboru DELIMITEDTEXT
Tento příklad vytvoří formát externího souboru s názvem textdelimited1 pro soubor s oddělovači textu. Možnosti uvedené pro FORMAT_OPTIONS určují, že pole v souboru by měla být oddělena znakem |svislé roury . Textový soubor je také komprimován kodekem Gzip. Pokud DATA_COMPRESSION není zadaný, textový soubor se nekomprimuje.
U textového souboru s oddělovači může být metoda komprese dat buď výchozí kodek, org.apache.hadoop.io.compress.DefaultCodecnebo Gzip Kodek, org.apache.hadoop.io.compress.GzipCodec.
CREATE EXTERNAL FILE FORMAT textdelimited1
WITH (
FORMAT_TYPE = DELIMITEDTEXT,
FORMAT_OPTIONS (
FIELD_TERMINATOR = '|',
DATE_FORMAT = 'MM/dd/yyyy' ),
DATA_COMPRESSION = 'org.apache.hadoop.io.compress.GzipCodec'
);
B. Vytvoření formátu externího souboru RCFile
Tento příklad vytvoří formát externího souboru pro RCFile, který používá metodu serialization/deserializationorg.apache.hadoop.hive.serde2.columnar.LazyBinaryColumnarSerDe. Určuje také použití výchozího kodeku pro metodu komprese dat. Pokud DATA_COMPRESSION není zadáno, výchozí hodnota není komprese.
CREATE EXTERNAL FILE FORMAT rcfile1
WITH (
FORMAT_TYPE = RCFILE,
SERDE_METHOD = 'org.apache.hadoop.hive.serde2.columnar.LazyBinaryColumnarSerDe',
DATA_COMPRESSION = 'org.apache.hadoop.io.compress.DefaultCodec'
);
C. Vytvoření formátu externího souboru ORC
Tento příklad vytvoří formát externího souboru pro soubor ORC, který komprimuje data pomocí org.apache.io.compress.SnappyCodec metody komprese dat. Pokud DATA_COMPRESSION není zadáno, výchozí hodnota není komprese.
CREATE EXTERNAL FILE FORMAT orcfile1
WITH (
FORMAT_TYPE = ORC,
DATA_COMPRESSION = 'org.apache.hadoop.io.compress.SnappyCodec'
);
D. Vytvoření formátu externího souboru PARQUET
Tento příklad vytvoří formát externího souboru pro soubor Parquet, který komprimuje data pomocí org.apache.io.compress.SnappyCodec metody komprese dat. Pokud DATA_COMPRESSION není zadáno, výchozí hodnota není komprese.
CREATE EXTERNAL FILE FORMAT parquetfile1
WITH (
FORMAT_TYPE = PARQUET,
DATA_COMPRESSION = 'org.apache.hadoop.io.compress.SnappyCodec'
);
E. Vytvoření textového souboru s oddělovači, který přeskočí řádek záhlaví
Platí pro: Azure Synapse Analytics a SQL Server 2022 (16.x) a novější.
Tento příklad vytvoří formát externího souboru pro soubor CSV s jedním řádkem záhlaví. Další informace naleznete v tématu Virtualizace souboru CSV pomocí PolyBase.
CREATE EXTERNAL FILE FORMAT skipHeader_CSV
WITH (FORMAT_TYPE = DELIMITEDTEXT,
FORMAT_OPTIONS(
FIELD_TERMINATOR = ',',
STRING_DELIMITER = '"',
FIRST_ROW = 2,
USE_TYPE_DEFAULT = True)
);
F. Vytvoření formátu externího souboru JSON
Platí pro: Azure SQL Edge.
Tento příklad vytvoří formát externího souboru pro soubor JSON, který komprimuje data pomocí org.apache.io.compress.SnappyCodec metody komprese dat. Pokud DATA_COMPRESSION není zadáno, výchozí hodnota není komprese. Tento příklad platí pro Azure SQL Edge a v současné době se nepodporuje pro ostatní produkty SQL.
CREATE EXTERNAL FILE FORMAT jsonFileFormat
WITH (
FORMAT_TYPE = JSON,
DATA_COMPRESSION = 'org.apache.hadoop.io.compress.SnappyCodec'
);
G. Vytvoření formátu externího souboru tabulky Delta
Tento příklad vytvoří formát externího souboru pro formát souboru typu tabulka Delta. Tento příklad platí pro SQL Server 2022 (16.x). Další informace naleznete v tématu Virtualize delta table with PolyBase.
CREATE EXTERNAL FILE FORMAT DeltaFileFormat
WITH (
FORMAT_TYPE = DELTA
);
Související obsah
- VYTVOŘIT EXTERNÍ ZDROJ DAT (Transact-SQL)
- VYTVOŘIT EXTERNÍ TABULKU (Transact-SQL)
- VYTVOŘIT VNĚJŠÍ TABULKU JAKO VÝBĚR (CETAS) (Transact-SQL)
- VYTVOŘIT TABULKU JAKO VÝBĚR
- sys.external_file_formats (Transact-SQL)