COPY INTO
Platí pro: Databricks SQL Databricks Runtime
Načte data z umístění souboru do tabulky Delta. Jedná se o operaci opakovatelnou a idempotentní – soubory ve zdrojovém umístění, které již byly načteny, se přeskočí. To platí i v případě, že byly soubory od jejich načtení změněny. Příklady najdete v běžných vzorech načítání dat pomocí funkce COPY INTO.
Syntaxe
COPY INTO target_table [ BY POSITION | ( col_name [ , <col_name> ... ] ) ]
FROM { source_clause |
( SELECT expression_list FROM source_clause ) }
FILEFORMAT = data_source
[ VALIDATE [ ALL | num_rows ROWS ] ]
[ FILES = ( file_name [, ...] ) | PATTERN = glob_pattern ]
[ FORMAT_OPTIONS ( { data_source_reader_option = value } [, ...] ) ]
[ COPY_OPTIONS ( { copy_option = value } [, ...] ) ]
source_clause
source [ WITH ( [ CREDENTIAL { credential_name |
(temporary_credential_options) } ]
[ ENCRYPTION (encryption_options) ] ) ]
Parametry
target_table
Identifikuje existující tabulku Delta. Target_table nesmí obsahovat dočasnou specifikaci.
Pokud je název tabulky zadaný ve formě umístění, například:
delta.`/path/to/table`
, Katalog Unity může řídit přístup k umístěním, do kterých se zapisují. Do externího umístění můžete zapisovat pomocí:- Definujte umístění jako externí umístění a mít
WRITE FILES
oprávnění k ho externímu umístění. - Oprávnění
WRITE FILES
k pojmenovaným přihlašovacím údajům úložiště, která poskytují autorizaci k zápisu do umístění pomocí:COPY INTO delta.`/some/location` WITH (CREDENTIAL <named-credential>)
Další podrobnosti najdete v tématu Připojení ke cloudovému úložišti objektů pomocí katalogu Unity.
- Definujte umístění jako externí umístění a mít
BY POSITION
| ( col_name [ , <col_name> ... ] )Porovná zdrojové sloupce s cílovými sloupci tabulky podle řadové pozice. Přetypování odpovídajících sloupců se provádí automaticky.
Tento parametr je podporován pouze pro formát souboru CSV bez záhlaví. Je nutné zadat
FILEFORMAT = CSV
.FORMAT_OPTIONS
musí být také nastavena na("headers" = "false")
(FORMAT_OPTIONS ("headers" = "false")
je výchozí).Možnost syntaxe 1:
BY POSITION
- Porovná zdrojové sloupce s cílovými sloupci tabulky podle pořadí automaticky.
- Pro porovnávání se nepoužívá výchozí porovnávání názvů.
IDENTITY
sloupce aGENERATED
sloupce cílové tabulky se při porovnávání zdrojových sloupců ignorují.- Pokud se počet zdrojových sloupců nerovná filtrovaným cílovým sloupcům tabulky,
COPY INTO
vyvolá chybu.
Možnost syntaxe 2:
( col_name [ , <col_name> ... ] )
- Porovná zdrojové sloupce se zadanými cílovými sloupci tabulky podle relativního pořadového umístění pomocí seznamu názvů cílových sloupců tabulky v závorkách oddělených čárkami.
- Původní pořadí sloupců tabulky a názvy sloupců se pro porovnávání nepoužívají.
IDENTITY
sloupce aGENERATED
sloupce nelze zadat v seznamu názvů sloupců, jinakCOPY INTO
vyvolá chybu.- Zadané sloupce nelze duplikovat.
- Pokud se počet zdrojových sloupců nerovná zadaným sloupcům tabulky,
COPY INTO
vyvolá chybu. - Pro sloupce, které nejsou zadány v seznamu názvů sloupců,
COPY INTO
přiřadí výchozí hodnoty, pokud existují, a přiřadíNULL
jinak. Pokud některý sloupec nemá hodnotu null,COPY INTO
vyvolá chybu.
- Porovná zdrojové sloupce s cílovými sloupci tabulky podle pořadí automaticky.
source
Umístění souboru, ze které se mají načíst data. Soubory v tomto umístění musí mít formát zadaný v
FILEFORMAT
. Umístění je k dispozici ve formě identifikátoru URI.Přístup ke zdrojovému umístění je možné poskytnout prostřednictvím:
credential_name
Volitelný název přihlašovacích údajů, které se používají pro přístup k umístění úložiště nebo k zápisu do tohoto umístění. Tyto přihlašovací údaje použijete jenom v případě, že umístění souboru není součástí externího umístění. Viz credential_name.
Vložené dočasné přihlašovací údaje.
Definování zdrojového umístění jako externího umístění a oprávnění
READ FILES
k externímu umístění prostřednictvím katalogu UnityPoužití pojmenovaných přihlašovacích údajů k úložišti s oprávněními
READ FILES
, která poskytují autorizaci ke čtení z umístění prostřednictvím katalogu Unity.
Pokud je cesta už definovaná jako externí umístění, ke kterému máte oprávnění, nemusíte zadávat vložené ani pojmenované přihlašovací údaje. Další podrobnosti najdete v tématu Vytvoření externího umístění pro připojení cloudového úložiště k Azure Databricks .
Poznámka:
Pokud je cesta ke zdrojovému souboru kořenovou cestou, přidejte lomítko (
/
) na konec cesty k souboru,s3://my-bucket/
například .Mezi akceptované možnosti přihlašovacích údajů patří:
AZURE_SAS_TOKEN
pro ADLS Gen2 a Azure Blob StorageAWS_ACCESS_KEY
,AWS_SECRET_KEY
aAWS_SESSION_TOKEN
pro AWS S3
Akceptované možnosti šifrování jsou:
TYPE = 'AWS_SSE_C'
aMASTER_KEY
pro AWS S3
Viz Načtení dat pomocí funkce COPY INTO s dočasnými přihlašovacími údaji.
SELECT expression_list
Před zkopírováním do tabulky Delta vybere zadané sloupce nebo výrazy ze zdrojových dat. Výrazy můžou být cokoli, co používáte s
SELECT
příkazy, včetně operací okna. Agregační výrazy můžete použít pouze pro globální agregace – u sloupců s touto syntaxí se nedáGROUP BY
použít.FILEFORMAT = data_source
Formát zdrojových souborů, které se mají načíst. Jeden z
CSV
, ,JSON
,ORC
AVRO
,PARQUET
,TEXT
,BINARYFILE
.VALIDATE
Platí pro: Databricks SQL Databricks Runtime 10.4 LTS a vyšší
Data, která se mají načíst do tabulky, se ověřují, ale nezapisují se do tabulky. Mezi tato ověření patří:
- Určuje, jestli se data dají analyzovat.
- Ať už schéma odpovídá tabulce, nebo jestli je potřeba schéma vyvíjet.
- Zda jsou splněna všechna omezení null a kontroly.
Výchozí možností je ověřit všechna data, která se mají načíst. Pomocí klíčového
ROWS
slova můžete zadat několik řádků, které se mají ověřit, napříkladVALIDATE 15 ROWS
. PříkazCOPY INTO
vrátí náhled dat o 50 řádcích nebo méně, pokud se s klíčovým slovemROWS
použije číslo menší než 50).FILES
Seznam názvů souborů, které se mají načíst, s limitem 1 000 souborů. Nelze zadat pomocí parametru
PATTERN
.PATTERN
Vzor globu, který identifikuje soubory, které se mají načíst ze zdrojového adresáře. Nelze zadat pomocí parametru
FILES
.Vzor Popis ?
Odpovídá jakémukoli jednomu znaku. *
Odpovídá nule nebo více znaků [abc]
Odpovídá jednomu znaku ze znakové sady {a,b,c}. [a-z]
Odpovídá jednomu znaku z rozsahu znaků {a... z}. [^a]
Odpovídá jednomu znaku, který není ze znakové sady nebo rozsahu {a}. Všimněte si, že ^
znak musí nastat okamžitě napravo od levé závorky.{ab,cd}
Odpovídá řetězci ze sady řetězců {ab, cd}. {ab,c{de, fh}}
Odpovídá řetězci ze sady řetězců {ab, cde, cfh}. FORMAT_OPTIONS
Možnosti, které se mají předat čtenáři zdroje dat Apache Sparku pro zadaný formát Viz Možnosti formátování pro každý formát souboru.
COPY_OPTIONS
Možnosti řízení operace
COPY INTO
příkazuforce
: logická hodnota, výchozífalse
. Pokud je nastavená hodnotatrue
, idempotence je zakázaná a soubory se načtou bez ohledu na to, jestli byly načteny dříve.mergeSchema
: logická hodnota, výchozífalse
. Pokud je nastavená hodnotatrue
, schéma se může vyvíjet podle příchozích dat.
Souběžné vyvolání COPY INTO
COPY INTO
podporuje souběžné vyvolání ve stejné tabulce. COPY INTO
Pokud je vyvolána souběžně u různých sad vstupních souborů, každé vyvolání by nakonec mělo proběhnout úspěšně, jinak dojde ke konfliktu transakcí. COPY INTO
by nemělo být vyvoláno souběžně za účelem zlepšení výkonu; Jeden COPY INTO
příkaz s více soubory obvykle funguje lépe než spouštění souběžných COPY INTO
příkazů s jedním souborem. COPY INTO
lze volat souběžně, pokud:
- Několik výrobců dat nemá snadný způsob, jak koordinovat a nemůže provést jediné vyvolání.
- Pokud je možné ingestovat podadresáři velmi velký adresář podle podadresáři. Při ingestování adresářů s velkým počtem souborů doporučuje Databricks používat automatické zavaděče , pokud je to možné.
Přístupová metadata souborů
Informace o přístupu k metadatům pro souborové zdroje dat najdete ve sloupci Metadata souboru.
Možnosti formátu
- Obecné možnosti
JSON
volbyCSV
volbyXML
volbyPARQUET
volbyAVRO
volbyBINARYFILE
volbyTEXT
volbyORC
volby
Obecné možnosti
Následující možnosti platí pro všechny formáty souborů.
Možnost |
---|
ignoreCorruptFiles Typ: Boolean Zda se mají ignorovat poškozené soubory. Pokud je hodnota true, úlohy Sparku se budou dál spouštět při výskytu poškozených souborů a obsah, který jste si přečetli, se vrátí. Pozorovatelný jako numSkippedCorruptFiles voperationMetrics sloupec historie Delta Lake. K dispozici ve službě Databricks Runtime 11.3 LTS a vyšší.Výchozí hodnota: false |
ignoreMissingFiles Typ: Boolean Zda se mají ignorovat chybějící soubory. Pokud je hodnota true, úlohy Sparku se budou dál spouštět při výskytu chybějících souborů a obsah, který byl přečtený, se vrátí. K dispozici ve službě Databricks Runtime 11.3 LTS a vyšší. Výchozí hodnota: false (true pro COPY INTO ) |
modifiedAfter Zadejte: Timestamp String například 2021-01-01 00:00:00.000000 UTC+0 Volitelné časové razítko pro ingestování souborů, které mají časové razítko změny po zadaném časovém razítku. Výchozí hodnota: None |
modifiedBefore Zadejte: Timestamp String například 2021-01-01 00:00:00.000000 UTC+0 Volitelné časové razítko pro ingestování souborů, které mají časové razítko změny před zadaným časovým razítkem. Výchozí hodnota: None |
pathGlobFilter nebo fileNamePattern Typ: String Potenciální vzor globu, který se má poskytnout pro výběr souborů. Ekvivalent k PATTERN v COPY INTO . fileNamePattern lze použít v read_files .Výchozí hodnota: None |
recursiveFileLookup Typ: Boolean Určuje, jestli se má během odvozování schématu přeskočit odvozování oddílů. To nemá vliv na to, které soubory jsou načteny. Výchozí hodnota: false |
JSON
volby
Možnost |
---|
allowBackslashEscapingAnyCharacter Typ: Boolean Zda povolit zpětné lomítko řídicí libovolný znak, který je úspěšný. Pokud není povoleno, můžou být řídicí znaky, které jsou explicitně uvedeny ve specifikaci JSON. Výchozí hodnota: false |
allowComments Typ: Boolean Bez ohledu na to, jestli chcete povolit použití komentářů ke stylu Jazyka Java, C a C++ ( '/' , '*' a '//' odrůd) v rámci analyzovaného obsahu, nebo ne.Výchozí hodnota: false |
allowNonNumericNumbers Typ: Boolean Určuje, jestli se má sada tokenů not a-a-number ( NaN ) povolit jako číselné hodnoty s plovoucí desetinou čárkou.Výchozí hodnota: true |
allowNumericLeadingZeros Typ: Boolean Určuje, jestli chcete, aby integrální čísla začínala dalšími (ignorovatelnými) nulami (například 000001 ).Výchozí hodnota: false |
allowSingleQuotes Typ: Boolean Zda povolit použití jednoduchých uvozovek (apostrof, znak '\' ) pro uvozovky (názvy a řetězcové hodnoty).Výchozí hodnota: true |
allowUnquotedControlChars Typ: Boolean Jestli chcete povolit, aby řetězce JSON obsahovaly nepotřebné řídicí znaky (ZNAKY ASCII s hodnotou menší než 32, včetně znaků tabulátoru a odřádkování), nebo ne. Výchozí hodnota: false |
allowUnquotedFieldNames Typ: Boolean Určuje, jestli chcete povolit použití necitovaných názvů polí (které jsou povoleny JavaScriptem, ale ne specifikací JSON). Výchozí hodnota: false |
badRecordsPath Typ: String Cesta k ukládání souborů pro záznam informací o špatných záznamech JSON. Výchozí hodnota: None |
columnNameOfCorruptRecord Typ: String Sloupec pro ukládání záznamů, které jsou poškozené a nelze je analyzovat. mode Pokud je analýza nastavená jako DROPMALFORMED , bude tento sloupec prázdný.Výchozí hodnota: _corrupt_record |
dateFormat Typ: String Formát pro analýzu řetězců kalendářních dat. Výchozí hodnota: yyyy-MM-dd |
dropFieldIfAllNull Typ: Boolean Určuje, jestli chcete ignorovat sloupce všech hodnot null nebo prázdných polí a struktur během odvozování schématu. Výchozí hodnota: false |
encoding nebo charset Typ: String Název kódování souborů JSON. Seznam java.nio.charset.Charset možností najdete v tématu. Nelze použít UTF-16 a UTF-32 kdy multiline je true .Výchozí hodnota: UTF-8 |
inferTimestamp Typ: Boolean Zda vyzkoušet a odvodit řetězce časového razítka TimestampType jako . Při nastavení natrue , odvození schématu může trvat výrazně déle. Musíte povolit cloudFiles.inferColumnTypes použití s automatickým zavaděčem.Výchozí hodnota: false |
lineSep Typ: String Řetězec mezi dvěma po sobě jdoucími záznamy JSON. Výchozí hodnota: Žádný, který pokrývá \r , \r\n a \n |
locale Typ: String Identifikátor java.util.Locale . Ovlivňuje výchozí datum, časové razítko a parsování desetinných míst v rámci JSON.Výchozí hodnota: US |
mode Typ: String Režim analyzátoru pro zpracování poškozených záznamů Jeden z , z 'PERMISSIVE' ,'DROPMALFORMED' nebo 'FAILFAST' .Výchozí hodnota: PERMISSIVE |
multiLine Typ: Boolean Určuje, jestli záznamy JSON pokrývají více řádků. Výchozí hodnota: false |
prefersDecimal Typ: Boolean Pokud je to možné, pokusí se řetězce odvodit jako DecimalType plovoucí nebo dvojitý typ. Musíte také použít odvození schématu, a to buď povoleníminferSchema nebo s cloudFiles.inferColumnTypes automatickým zavaděčem.Výchozí hodnota: false |
primitivesAsString Typ: Boolean Zda odvodit primitivní typy, jako jsou čísla a logické hodnoty jako StringType .Výchozí hodnota: false |
readerCaseSensitive Typ: Boolean Určuje chování citlivosti případu, pokud rescuedDataColumn je povoleno. Pokud je pravda, zachorání sloupce dat, jejichž názvy se liší písmeny od schématu; v opačném případě čte data bez rozlišování velkých a malých písmen. K dispozici v Databricks Runtime13.3 a vyšší. Výchozí hodnota: true |
rescuedDataColumn Typ: String Jestli chcete shromáždit všechna data, která nelze analyzovat kvůli neshodě datového typu nebo neshodě schématu (včetně písmen sloupců) do samostatného sloupce. Tento sloupec je ve výchozím nastavení zahrnutý při použití automatického zavaděče. Další podrobnosti najdete v části Co je zachráněný datový sloupec?. Výchozí hodnota: None |
singleVariantColumn Typ: String Určuje, jestli chcete ingestovat celý dokument JSON, parsovaný do jednoho sloupce Variant s daným řetězcem jako názvem sloupce. Pokud je tato možnost zakázaná, pole JSON se ingestují do vlastních sloupců. Výchozí hodnota: None |
timestampFormat Typ: String Formát pro analýzu řetězců časových razítek. Výchozí hodnota: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] |
timeZone Typ: String Používá java.time.ZoneId se při analýze časových razítek a kalendářních dat.Výchozí hodnota: None |
CSV
volby
Možnost |
---|
badRecordsPath Typ: String Cesta k ukládání souborů pro záznam informací o špatných záznamech CSV. Výchozí hodnota: None |
charToEscapeQuoteEscaping Typ: Char Znak použitý k řídicímu znaku použitému pro uvozovky. Například pro následující záznam: [ " a\\", b ] * Pokud je znak k řídicímu znaku '\' nedefinovaný, záznam nebude analyzován. Analyzátor přečte znaky: [a],[\],["],[,],[ ],[b] a vyvolá chybu, protože nemůže najít pravou uvozovku.* Pokud je znak pro řídicí znak '\' definován jako '\' , záznam bude přečteno se 2 hodnotami: [a\] a [b] .Výchozí hodnota: '\0' |
columnNameOfCorruptRecord > [! POZNÁMKA] >> Podporováno pro automatický zavaděč. Nepodporuje se pro COPY INTO .Typ: String Sloupec pro ukládání záznamů, které jsou poškozené a nelze je analyzovat. mode Pokud je analýza nastavená jako DROPMALFORMED , bude tento sloupec prázdný.Výchozí hodnota: _corrupt_record |
comment Typ: Char Definuje znak, který představuje komentář řádku při nalezení na začátku řádku textu. Slouží '\0' k zakázání vynechání komentářů.Výchozí hodnota: '\u0000' |
dateFormat Typ: String Formát pro analýzu řetězců kalendářních dat. Výchozí hodnota: yyyy-MM-dd |
emptyValue Typ: String Řetězcové znázornění prázdné hodnoty Výchozí hodnota: "" |
encoding nebo charset Typ: String Název kódování souborů CSV. Podívejte java.nio.charset.Charset se na seznam možností. UTF-16 a UTF-32 nelze ji použít, pokud multiline je true .Výchozí hodnota: UTF-8 |
enforceSchema Typ: Boolean Zda se má vynuceně použít zadané nebo odvozené schéma u souborů CSV. Pokud je tato možnost povolená, záhlaví souborů CSV se ignorují. Tato možnost se ve výchozím nastavení ignoruje při použití automatického zavaděče k záchraně dat a povolení vývoje schématu. Výchozí hodnota: true |
escape Typ: Char Řídicí znak, který se má použít při analýze dat. Výchozí hodnota: '\' |
header Typ: Boolean Určuje, jestli soubory CSV obsahují záhlaví. Automatický zavaděč předpokládá, že soubory mají při odvození schématu hlavičky. Výchozí hodnota: false |
ignoreLeadingWhiteSpace Typ: Boolean Zda se mají ignorovat úvodní prázdné znaky pro každou analyzovanou hodnotu. Výchozí hodnota: false |
ignoreTrailingWhiteSpace Typ: Boolean Zda se mají ignorovat koncové prázdné znaky pro každou analyzovanou hodnotu. Výchozí hodnota: false |
inferSchema Typ: Boolean Zda chcete odvodit datové typy analyzovaných záznamů CSV nebo předpokládat, že všechny sloupce jsou . StringType Vyžaduje další předávání dat, pokud je nastaveno na true hodnotu . V případě automatického zavaděče použijte cloudFiles.inferColumnTypes místo toho.Výchozí hodnota: false |
lineSep Typ: String Řetězec mezi dvěma po sobě jdoucími záznamy CSV. Výchozí hodnota: Žádný, který pokrývá \r , \r\n a \n |
locale Typ: String Identifikátor java.util.Locale . Ovlivňuje výchozí datum, časové razítko a parsování desetinných míst v rámci sdíleného svazku clusteru.Výchozí hodnota: US |
maxCharsPerColumn Typ: Int Maximální počet znaků očekávaných od hodnoty k analýze Lze použít k zabránění chybám paměti. Výchozí hodnota -1 znamená neomezenou hodnotu.Výchozí hodnota: -1 |
maxColumns Typ: Int Pevný limit počtu sloupců, které může záznam obsahovat. Výchozí hodnota: 20480 |
mergeSchema Typ: Boolean Určuje, jestli chcete schéma odvodit napříč více soubory a sloučit schéma jednotlivých souborů. Při odvození schématu je ve výchozím nastavení povoleno automatické zavaděče. Výchozí hodnota: false |
mode Typ: String Režim analyzátoru pro zpracování poškozených záznamů Jeden z , z 'PERMISSIVE' ,'DROPMALFORMED' a 'FAILFAST' .Výchozí hodnota: PERMISSIVE |
multiLine Typ: Boolean Určuje, jestli záznamy CSV pokrývají více řádků. Výchozí hodnota: false |
nanValue Typ: String Řetězcové vyjádření hodnoty, která není číslo při analýze FloatType a DoubleType sloupcích.Výchozí hodnota: "NaN" |
negativeInf Typ: String Řetězcové znázornění záporného nekonečna při analýze FloatType nebo DoubleType sloupcích.Výchozí hodnota: "-Inf" |
nullValue Typ: String Řetězcové vyjádření hodnoty null Výchozí hodnota: "" |
parserCaseSensitive (zastaralé)Typ: Boolean Při čtení souborů, zda chcete zarovnat sloupce deklarované v záhlaví s rozlišováním velkých a malých písmen schématu. Toto nastavení je true ve výchozím nastavení automatického zavaděče. Sloupce, které se liší podle případu, se v rescuedDataColumn případě povolení zachorání. Tato možnost byla zastaralá ve prospěch readerCaseSensitive .Výchozí hodnota: false |
positiveInf Typ: String Řetězcové vyjádření kladného nekonečna při analýze FloatType nebo DoubleType sloupcích.Výchozí hodnota: "Inf" |
preferDate Typ: Boolean Pokusí se odvodit řetězce jako kalendářní data místo časového razítka, pokud je to možné. Musíte také použít odvození schématu, a to buď povolením inferSchema , nebo použitímcloudFiles.inferColumnTypes s automatickým zavaděčem.Výchozí hodnota: true |
quote Typ: Char Znak použitý pro escaping hodnoty, kde oddělovač polí je součástí hodnoty. Výchozí hodnota: " |
readerCaseSensitive Typ: Boolean Určuje chování citlivosti případu, pokud rescuedDataColumn je povoleno. Pokud je pravda, zachorání sloupce dat, jejichž názvy se liší písmeny od schématu; v opačném případě čte data bez rozlišování velkých a malých písmen.Výchozí hodnota: true |
rescuedDataColumn Typ: String Určuje, jestli se mají shromažďovat všechna data, která nelze analyzovat z důvodu neshody datového typu a neshody schématu (včetně písmen sloupců) do samostatného sloupce. Tento sloupec je ve výchozím nastavení zahrnutý při použití automatického zavaděče. Další podrobnosti najdete v části Co je záchranný sloupec dat?. Výchozí hodnota: None |
sep nebo delimiter Typ: String Řetězec oddělovače mezi sloupci. Výchozí hodnota: "," |
skipRows Typ: Int Počet řádků od začátku souboru CSV, které by se měly ignorovat (včetně komentářů a prázdných řádků). Pokud header je hodnota true, záhlaví bude první vynechaný a nekommentovaný řádek.Výchozí hodnota: 0 |
timestampFormat Typ: String Formát pro analýzu řetězců časových razítek. Výchozí hodnota: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] |
timeZone Typ: String Používá java.time.ZoneId se při analýze časových razítek a kalendářních dat.Výchozí hodnota: None |
unescapedQuoteHandling Typ: String Strategie pro zpracování nepotřebných uvozovek. Povolené možnosti: * STOP_AT_CLOSING_QUOTE : Pokud jsou ve vstupu nalezeny neuskutečené uvozovky, nashromážděte znak uvozovky a pokračujte parsováním hodnoty jako uvozovky, dokud se nenajde pravá uvozovka.* BACK_TO_DELIMITER : Pokud jsou ve vstupu nalezeny neuskutečené uvozovky, zvažte hodnotu jako necitovanou hodnotu. Tím se analyzátoru nahromáždí všechny znaky aktuální analyzované hodnoty, dokud se nenajde oddělovač definovaný pomocí sep . Pokud se v hodnotě nenajde žádný oddělovač, analyzátor bude pokračovat ve shromažďování znaků ze vstupu, dokud se nenajde oddělovač nebo konec řádku.* STOP_AT_DELIMITER : Pokud jsou ve vstupu nalezeny neuskutečené uvozovky, zvažte hodnotu jako necitovanou hodnotu. Tím se analyzátoru nahromáždí všechny znaky, dokud se ve vstupu nenajde oddělovač definovaný oddělovačem sep nebo konce řádku.* SKIP_VALUE : Pokud jsou ve vstupu nalezeny neuskutečněné uvozovky, obsah analyzovaný pro danou hodnotu se přeskočí (dokud se nenajde další oddělovač) a místo toho se vytvoří hodnota nastavená nullValue .* RAISE_ERROR : Pokud jsou ve vstupu nalezeny neuskutečené uvozovky,TextParsingException bude vyvolán.Výchozí hodnota: STOP_AT_DELIMITER |
XML
volby
Možnost | Popis | Obor |
---|---|---|
rowTag |
Značka řádku souborů XML, která má být považována za řádek. V příkladu XML <books> <book><book>...<books> je book příslušná hodnota . Tato možnost je povinná. |
čtení |
samplingRatio |
Definuje zlomek řádků používaných pro odvozování schématu. Předdefinované funkce XML tuto možnost ignorují. Výchozí hodnota: 1.0 . |
čtení |
excludeAttribute |
Zda vyloučit atributy v prvcích. Výchozí hodnota: false . |
čtení |
mode |
Režim práce s poškozenými záznamy během analýzyPERMISSIVE : U poškozených záznamů umístí poškozený řetězec do pole nakonfigurovaného columnNameOfCorruptRecord pomocí a nastaví poškozená pole na null hodnotu . Chcete-li zachovat poškozené záznamy, můžete nastavit string pole typu pojmenované columnNameOfCorruptRecord ve schématu definovaném uživatelem. Pokud schéma pole neobsahuje, během analýzy se zahodí poškozené záznamy. Při odvození schématu analyzátor implicitně přidá columnNameOfCorruptRecord pole ve výstupním schématu.DROPMALFORMED : Ignoruje poškozené záznamy. Tento režim není podporován pro předdefinované funkce XML.FAILFAST : Vyvolá výjimku, když analyzátor splňuje poškozené záznamy. |
čtení |
inferSchema |
Pokud true se pokusí odvodit odpovídající typ pro každý výsledný sloupec datového rámce. Pokud false jsou všechny výsledné sloupce typu string . Výchozí:true . Předdefinované funkce XML tuto možnost ignorují. |
čtení |
columnNameOfCorruptRecord |
Umožňuje přejmenování nového pole, které obsahuje poškozený řetězec vytvořený uživatelemPERMISSIVE režim. Výchozí hodnota: spark.sql.columnNameOfCorruptRecord . |
čtení |
attributePrefix |
Předpona atributů k rozlišení atributů od prvků. Toto bude předpona pro názvy polí. Výchozí hodnota je _ . Může být prázdný pro čtení XML, ale ne pro zápis. |
čtení, zápis |
valueTag |
Značka použitá pro data znaků v elementech, které mají také atributy nebo podřízené elementy. Uživatel může zadat valueTag pole ve schématu nebo se automaticky přidá během odvozování schématu, když jsou data znaků přítomna v prvcích s jinými prvky nebo atributy. Výchozí: _VALUE |
čtení, zápis |
encoding |
Pro čtení dekóduje soubory XML daným typem kódování. Pro zápis určuje kódování (znakovou sadu) uložených souborů XML. Předdefinované funkce XML tuto možnost ignorují. Výchozí hodnota: UTF-8 . |
čtení, zápis |
ignoreSurroundingSpaces |
Definuje, jestli se mají vynechat okolní prázdné znaky z hodnot, které se čtou. Výchozí hodnota: true . Data znaků pouze prázdných znaků se ignorují. |
čtení |
rowValidationXSDPath |
Cesta k volitelnému souboru XSD, který se používá k ověření XML pro každý řádek jednotlivě. Řádky, které se nepodaří ověřit, se považují za parsované chyby jako výše. XSD jinak nemá vliv na zadané schéma ani na odvození. | čtení |
ignoreNamespace |
Pokud true jsou předpony oborů názvů u elementů a atributů XML ignorovány. Značky <abc:author> a <def:author> , například, jsou považovány za to, že oba jsou jen <author> . Obory názvů nelze u elementu rowTag ignorovat, pouze jeho podřízené položky pro čtení. Analýza XML není v oboru názvů ani v případě, že false . Výchozí hodnota: false . |
čtení |
timestampFormat |
Vlastní řetězec formátu časového razítka, který se řídí formátem vzoru data a času. To platí pro timestamp typ. Výchozí hodnota: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] . |
čtení, zápis |
timestampNTZFormat |
Řetězec vlastního formátu pro časové razítko bez časového pásma, které se řídí formátem vzoru data a času. To platí pro typ TimestampNTZType. Výchozí:yyyy-MM-dd'T'HH:mm:ss[.SSS] |
čtení, zápis |
dateFormat |
Vlastní řetězec formátu data, který se řídí formátem vzoru datetime. To platí pro typ data. Výchozí hodnota: yyyy-MM-dd . |
čtení, zápis |
locale |
Nastaví národní prostředí jako značku jazyka ve formátu IETF BCP 47. Používá se například locale při analýze kalendářních dat a časových razítek. Výchozí hodnota: en-US . |
čtení |
rootTag |
Kořenová značka souborů XML. Například v <books> <book><book>...</books> , odpovídající hodnota je books . Základní atributy můžete zahrnout zadáním hodnoty, jako books foo="bar" je . Výchozí hodnota: ROWS . |
zápis |
declaration |
Obsah deklarace XML pro zápis na začátku každého výstupního souboru XML před rootTag . Například hodnota foo příčin <?xml foo?> , které se mají zapsat. Nastavte prázdný řetězec, který chcete potlačit. Výchozí: version="1.0" encoding="UTF-8" standalone="yes" . |
zápis |
arrayElementName |
Název elementu XML, který při psaní uzavře každý prvek sloupce s hodnotou pole. Výchozí hodnota: item . |
zápis |
nullValue |
Nastaví řetězcovou reprezentaci hodnoty null. Výchozí hodnota: řetězec null . V takovém případě null analyzátor nezapisuje atributy a prvky pro pole. |
čtení, zápis |
compression |
Komprimační kód, který se použije při ukládání do souboru. Může to být jeden ze známých zkrácených názvů bez rozlišování velkých a malých písmen (none , , bzip2 gzip ,lz4 , snappy a)deflate ). Předdefinované funkce XML tuto možnost ignorují. Výchozí hodnota: none . |
zápis |
validateName |
Pokud je true, vyvolá chybu při ověření názvu elementu XML. Například názvy polí SQL můžou mít mezery, ale názvy elementů XML nemohou. Výchozí:true . |
zápis |
readerCaseSensitive |
Určuje chování citlivosti případu při povolení rescuedDataColumn. Pokud je pravda, zachorání sloupce dat, jejichž názvy se liší písmeny od schématu; v opačném případě čte data bez rozlišování velkých a malých písmen. Výchozí hodnota: true . |
čtení |
rescuedDataColumn |
Jestli chcete shromáždit všechna data, která nelze analyzovat kvůli neshodě datového typu a neshodě schématu (včetně písmen sloupců) k samostatnému sloupci. Tento sloupec je ve výchozím nastavení zahrnutý při použití automatického zavaděče. Další podrobnosti najdete v tématu Co je záchranná datová sloupec?. Výchozí hodnota: Žádné. | čtení |
PARQUET
volby
Možnost |
---|
datetimeRebaseMode Typ: String Řídí znovubasování hodnot DATE a TIMESTAMP mezi Julianem a Proleptic gregoriánskými kalendáři. Povolené hodnoty: EXCEPTION , LEGACY aCORRECTED .Výchozí hodnota: LEGACY |
int96RebaseMode Typ: String Řídí znovubasování hodnot časového razítka INT96 mezi Julianem a Proleptic gregoriánskými kalendáři. Povolené hodnoty: EXCEPTION , LEGACY aCORRECTED .Výchozí hodnota: LEGACY |
mergeSchema Typ: Boolean Určuje, jestli chcete schéma odvodit napříč více soubory a sloučit schéma jednotlivých souborů. Výchozí hodnota: false |
readerCaseSensitive Typ: Boolean Určuje chování citlivosti případu, pokud rescuedDataColumn je povoleno. Pokud je pravda, zachorání sloupce dat, jejichž názvy se liší písmeny od schématu; v opačném případě čte data bez rozlišování velkých a malých písmen.Výchozí hodnota: true |
rescuedDataColumn Typ: String Určuje, jestli se mají shromažďovat všechna data, která nelze analyzovat z důvodu neshody datového typu a neshody schématu (včetně písmen sloupců) do samostatného sloupce. Tento sloupec je ve výchozím nastavení zahrnutý při použití automatického zavaděče. Další podrobnosti najdete v části Co je záchranný sloupec dat?. Výchozí hodnota: None |
AVRO
volby
Možnost |
---|
avroSchema Typ: String Volitelné schéma poskytované uživatelem ve formátu Avro Při čtení Avro lze tuto možnost nastavit na vyvinuté schéma, které je kompatibilní, ale liší se se skutečným schématem Avro. Schéma deserializace bude konzistentní s vyvíjeným schématem. Pokud například nastavíte vyvíjené schéma obsahující jeden další sloupec s výchozí hodnotou, výsledek čtení bude obsahovat i nový sloupec. Výchozí hodnota: None |
datetimeRebaseMode Typ: String Řídí znovubasování hodnot DATE a TIMESTAMP mezi Julianem a Proleptic gregoriánskými kalendáři. Povolené hodnoty: EXCEPTION , LEGACY aCORRECTED .Výchozí hodnota: LEGACY |
mergeSchema Typ: Boolean Určuje, jestli chcete schéma odvodit napříč více soubory a sloučit schéma jednotlivých souborů. mergeSchema pro Avro neuvolní datové typy.Výchozí hodnota: false |
readerCaseSensitive Typ: Boolean Určuje chování citlivosti případu, pokud rescuedDataColumn je povoleno. Pokud je pravda, zachorání sloupce dat, jejichž názvy se liší písmeny od schématu; v opačném případě čte data bez rozlišování velkých a malých písmen.Výchozí hodnota: true |
rescuedDataColumn Typ: String Určuje, jestli se mají shromažďovat všechna data, která nelze analyzovat z důvodu neshody datového typu a neshody schématu (včetně písmen sloupců) do samostatného sloupce. Tento sloupec je ve výchozím nastavení zahrnutý při použití automatického zavaděče. Další podrobnosti najdete v části Co je záchranný sloupec dat?. Výchozí hodnota: None |
BINARYFILE
volby
Binární soubory nemají žádné další možnosti konfigurace.
TEXT
volby
Možnost |
---|
encoding Typ: String Název kódování souborů TEXT. Seznam java.nio.charset.Charset možností najdete v tématu.Výchozí hodnota: UTF-8 |
lineSep Typ: String Řetězec mezi dvěma po sobě jdoucími záznamy TEXT. Výchozí hodnota: Žádný, který pokrývá \r , \r\n a \n |
wholeText Typ: Boolean Určuje, jestli se má soubor číst jako jeden záznam. Výchozí hodnota: false |
ORC
volby
Možnost |
---|
mergeSchema Typ: Boolean Určuje, jestli chcete schéma odvodit napříč více soubory a sloučit schéma jednotlivých souborů. Výchozí hodnota: false |