COPY INTO
Platí pro: Databricks SQL Databricks Runtime
Načte data z umístění souboru do Delta table. 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 naleznete v části běžné vzory načítání dat pomocí 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) ] ) ]
Parameters
target_table
Identifikuje existující Delta table. Target_table nesmí obsahovat dočasnou specifikaci ani specifikaci možností.
Pokud je název table uveden ve formě umístění, jako například:
delta.`/path/to/table`
, může Unity Catalog řídit přístup k zapisovaným umístěním. Do externího umístění můžete zapisovat pomocí:- Definujte umístění jako vnější umístění a nastavte having
WRITE FILES
oprávnění pro toto externí umístění. -
Having
WRITE FILES
oprávnění 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ů a službám pomocí unity Catalog.
- Definujte umístění jako vnější umístění a nastavte having
BY POSITION
| ( col_name [ , <col_name> ... ] )Odpovídá zdroji columns k cíli tablecolumns podle pořadí. Přetypování objektu columns, které odpovídá, je provedeno 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é set("headers" = "false")
(výchozí nastavení jeFORMAT_OPTIONS ("headers" = "false")
).Možnost syntaxe 1:
BY POSITION
- Automaticky přiřazuje zdroj columns k cíli tablecolumns podle řadové pozice.
- Pro porovnávání se nepoužívá výchozí porovnávání názvů.
-
IDENTITY
columns aGENERATED
columns cílového table se při porovnávání zdrojového columnsignorují . - Pokud se počet zdroje columns nerovná filtrovaným cílovým tablecolumns,
COPY INTO
vyvolá chybu.
Možnost syntaxe 2:
( col_name [ , <col_name> ... ] )
- Porovná zdroj columns se zadaným cílem tablecolumns podle relativní polohy pomocí názvu cíle tablecolumnlist, uvedeného v závorkách a odděleného čárkami.
- Původní tablecolumn pořadí a názvy column se pro porovnávání nepoužívají.
-
IDENTITY
columns aGENERATED
columns nelze zadat v názvu columnlist, jinakCOPY INTO
vyvolá chybu. - Zadaný columns nelze duplikovat.
- Pokud se počet zdrojových columns nerovná zadanému tablecolumns,
COPY INTO
vyvolá chybu. - Pro columns, které nejsou specifikovány v názvu columnlist,
COPY INTO
přiřadí výchozí values, pokud nějaké jsou, jinak přiřadíNULL
. Pokud některý column nemá hodnotu null,COPY INTO
vyvolá chybu.
- Automaticky přiřazuje zdroj columns k cíli tablecolumns podle řadové pozice.
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.
Dočasně vloženo credentials.
Definování zdrojového umístění jako externího umístění a nastavení oprávnění having
READ FILES
k externímu umístění prostřednictvím Unity Catalog.Použití pojmenovaných přihlašovacích údajů úložiště s oprávněními
READ FILES
, která poskytují autorizaci ke čtení z umístění prostřednictvím Unity Catalog.
Pokud je cesta už definovaná jako externí umístění, které máte oprávnění použít, nemusíte zadávat řádkové ani pojmenované credentials. 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 Storage -
AWS_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í COPY INTO s dočasnými credentials.
SELECT expression_list
Nejprve ze zdrojových dat vybere zadanou columns nebo výrazy, a poté zkopíruje do Delta table. Výrazy můžou být cokoli, co používáte s příkazy
SELECT
, včetně operací window. Agregační výrazy můžete použít jenom pro globální agregace – s touto syntaxí nemůžeteGROUP BY
na columns.FILEFORMAT = data_source
Formát zdrojových souborů, které se mají načíst. Jeden z
CSV
, ,JSON
,AVRO
ORC
,PARQUET
,TEXT
,BINARYFILE
.VALIDATE
Platí pro: Databricks SQL Databricks Runtime 10.4 LTS a vyšší
Data, která se mají načíst do table, jsou ověřena, ale nejsou zapsána do table. Mezi tato ověření patří:
- Určuje, jestli se data dají analyzovat.
- Zda schema odpovídá table nebo jestli je potřeba schema 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
list názvů souborů k načtení, s počtem limit souborů 1 000. 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 znaku set {a,b,c}. [a-z]
Odpovídá jednomu znaku z rozsahu znaků {a... z}. [^a]
Odpovídá jednomu znaku, který není z znaku set nebo rozsahu {a}. Všimněte si, že ^
znak musí nastat okamžitě napravo od levé závorky.{ab,cd}
Odpovídá řetězci z řetězce set {ab, cd}. {ab,c{de, fh}}
Shoduje se s řetězcem z množiny set {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říkazu-
force
: logická hodnota, výchozífalse
. Pokud je set dotrue
, je idempotentnost zakázána a soubory se načtou bez ohledu na to, jestli byly načteny dříve. -
mergeSchema
: logická hodnota, výchozífalse
. Pokud je set ažtrue
, schema lze vyvíjet podle příchozích dat.
-
Souběžné vyvolání COPY INTO
COPY INTO
podporuje souběžné vyvolání proti stejné table. Pokud se COPY INTO
vyvolá souběžně na odlišných sadách vstupních souborů, mělo by každé vyvolání nakonec proběhnout úspěšně, jinak get konflikt transakce.
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 v tématu Metadata souboru column.
Možnosti formátu
- Obecné možnosti
-
JSON
volby -
CSV
volby -
XML
volby -
PARQUET
volby -
AVRO
volby -
BINARYFILE
volby -
TEXT
volby -
ORC
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 vHistorie Delta Lake operationMetrics column. 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 Zda se má během partition odvozování přeskočit schema odvozování. 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 Zda povolit set tokeny typu není číslo ( NaN ) jako platná desetinná čísla values.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 citace řetězců (názvů a řetězců values).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 column pro ukládání záznamů, které jsou poškozené a nelze je analyzovat. Pokud je mode pro analýzu set jako DROPMALFORMED , bude tato column 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 Zda se mají ignorovat columns všech values null nebo prázdných polí a struktur během schema odvození. Výchozí hodnota: false |
encoding nebo charset Typ: String Název kódování souborů JSON. Informace o java.nio.charset.Charset možností najdete v list. 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 . Když set dotrue , schema odvození 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 java.util.Locale
identifier. 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 schema odvozování, 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, zachrání data columns, jejichž názvy se liší pouze velikostí písmen od schema, jinak č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 Zda se mají shromažďovat všechna data, která nelze parsovat kvůli neshodě datového typu nebo neshodě schema (včetně velikosti písma column) do samostatné oblasti column. Výchozí nastavení zahrnuje tuto column při použití automatického zavaděče. Další podrobnosti najdete v tématu Co jsou zachráněná data column?. Výchozí hodnota: None |
singleVariantColumn Typ: String Určuje, jestli se má ingestovat celý dokument JSON, parsovaný do jednoho column Variant s daným řetězcem jako názvem column. Pokud je tato možnost zakázaná, pole JSON budou zahrnuta do jejich vlastních columns. 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 únik z '\' definován jako '\' , záznam bude přečten pomocí 2 values: [a\] a [b] .Výchozí hodnota: '\0' |
columnNameOfCorruptRecord Je podporováno pro Automatický Zavaděč. Nepodporuje se pro COPY INTO .Typ: String column pro ukládání záznamů, které jsou poškozené a nelze je analyzovat. Pokud je mode pro analýzu set jako DROPMALFORMED , bude tato column 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. Informace o java.nio.charset.Charset možností najdete v list.
UTF-16 a UTF-32 nelze ji použít, pokud multiline je true .Výchozí hodnota: UTF-8 |
enforceSchema Typ: Boolean Zda vynutit použití zadaného nebo automaticky odvozeného schema 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í Auto Loaderu k obnově dat a povolení evoluce schema. 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í. Auto Loader předpokládá, že soubory mají hlavičky při odvození schema. 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 odvodit datové typy z analyzovaných záznamů CSV, nebo předpokládat, že všechny columns jsou StringType . Vyžaduje další předávání dat, pokud settrue . 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 java.util.Locale
identifier. 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 Těžké limit toho, kolik columns záznam může mít. Výchozí hodnota: 20480 |
mergeSchema Typ: Boolean Zda chcete odvodit schema napříč více soubory a sloučit schema každého souboru. Při odvozování schemaje ve výchozím nastavení povolen automatický zavaděč . 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í číselnou hodnotou, při zpracování FloatType a DoubleType columns.Výchozí hodnota: "NaN" |
negativeInf Typ: String Řetězcové znázornění záporného nekonečna při analýze FloatType nebo DoubleType columns.Výchozí hodnota: "-Inf" |
nullValue Typ: String Řetězcové vyjádření hodnoty null Výchozí hodnota: "" |
parserCaseSensitive (zastaralé)Typ: Boolean Chcete při čtení souborů zarovnat columns deklarované v záhlaví s schema s ohledem na velká a malá písmena? Toto nastavení je true ve výchozím nastavení automatického zavaděče.
Columns, které se liší velikostí písmen, budou v rescuedDataColumn zachráněny, pokud je povoleno. 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 parsování FloatType nebo DoubleType columns.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 schema odvozování, 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 unikání oddělovače polí valueswhere je součástí hodnoty. Výchozí hodnota: " |
readerCaseSensitive Typ: Boolean Určuje chování citlivosti případu, pokud rescuedDataColumn je povoleno. Pokud je pravda, zachrání data columns, jejichž názvy se liší pouze velikostí písmen od schema, jinak čte data bez rozlišování velkých a malých písmen.Výchozí hodnota: true |
rescuedDataColumn Typ: String Zda se mají shromažďovat všechna data, která nelze parsovat z důvodu neshody datového typu, a neshody schema (včetně column velikosti písma) na samostatný column. Výchozí nastavení zahrnuje tuto column při použití automatického zavaděče. Další podrobnosti najdete v tématu Co jsou záchranná data column?. Výchozí hodnota: None |
sep nebo delimiter Typ: String Řetězec oddělovače mezi columns. 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 neescapované uvozovky, obsah určený pro danou hodnotu se přeskočí (dokud se nenajde další oddělovač) a místo toho bude vytvořena hodnota set v 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á. |
přečteno |
samplingRatio |
Definuje podíl řádků použitý pro inferenční metody schema. Předdefinované funkce XML tuto možnost ignorují. Výchozí hodnota: 1.0 . |
přečteno |
excludeAttribute |
Zda vyloučit atributy v prvcích. Výchozí hodnota: false . |
přečteno |
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 set pole typu string s názvem columnNameOfCorruptRecord v uživatelsky definovaném schema. Pokud schema nemá pole, během analýzy se zahodí poškozené záznamy. Při odvození schemaanalyzátor implicitně přidá pole columnNameOfCorruptRecord ve výstupním schema.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. |
přečteno |
inferSchema |
Pokud true , pokusí se odvodit odpovídající typ pro každý výsledný datový rámec column. Pokud false , všechny výsledné columns jsou typu string . Výchozí:true . Předdefinované funkce XML tuto možnost ignorují. |
přečteno |
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 . |
přečteno |
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 pole valueTag v rámci schema, nebo bude automaticky přidáno během procesu schema, pokud jsou znaky přítomné v prvcích společně s další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, zda mají být při čtení z values vynechány okolní prázdné znaky. Výchozí hodnota: true . Data znaků pouze prázdných znaků se ignorují. |
přečteno |
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 neovlivňuje jinak poskytnuté nebo odvozené schema. | přečteno |
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 . |
přečteno |
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 timezone, 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 . |
přečteno |
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.
Set nastavte na prázdný řetězec, aby byl potlačen. 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 pole s hodnotou column. 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, zachrání data columns, jejichž názvy se liší pouze velikostí písmen od schema, jinak čte data bez rozlišování velkých a malých písmen. Výchozí hodnota: true . |
přečteno |
rescuedDataColumn |
Zda se mají shromažďovat všechna data, která nelze zpracovat z důvodu neshody datového typu a neshody schema (včetně rozdílného psaní column) do samostatného column. Výchozí nastavení zahrnuje tuto column při použití automatického zavaděče. Další podrobnosti najdete v tématu Co jsou záchranná data column?. Výchozí hodnota: Žádné. | přečteno |
PARQUET
volby
Možnost |
---|
datetimeRebaseMode Typ: String Řídí přesunutí základu DATA a TIMESTAMP values mezi juliánským a proleptickým gregoriánským kalendářem. Povolené values: EXCEPTION , LEGACY aCORRECTED .Výchozí hodnota: LEGACY |
int96RebaseMode Typ: String Řídí převedení časového razítka INT96 values mezi juliánským a proleptickým gregoriánským kalendářem. Povolené values: EXCEPTION , LEGACY aCORRECTED .Výchozí hodnota: LEGACY |
mergeSchema Typ: Boolean Zda chcete odvodit schema napříč více soubory a sloučit schema každého souboru. Výchozí hodnota: false |
readerCaseSensitive Typ: Boolean Určuje chování citlivosti případu, pokud rescuedDataColumn je povoleno. Pokud je pravda, zachrání data columns, jejichž názvy se liší pouze velikostí písmen od schema, jinak čte data bez rozlišování velkých a malých písmen.Výchozí hodnota: true |
rescuedDataColumn Typ: String Zda se mají shromažďovat všechna data, která nelze parsovat z důvodu neshody datového typu, a neshody schema (včetně column velikosti písma) na samostatný column. Výchozí nastavení zahrnuje tuto column při použití automatického zavaděče. Další podrobnosti najdete v tématu Co jsou záchranná data column?. Výchozí hodnota: None |
AVRO
volby
Možnost |
---|
avroSchema Typ: String Volitelné schema poskytnuté uživatelem ve formátu Avro. Při čtení Avro se dá možnost set převést na vyvíjený schema, který je kompatibilní, ale odlišný od skutečného Avro schema. Deserializace schema bude konzistentní s rozvinutým schema. Pokud například set vyvíjený schema obsahující jeden další column s výchozí hodnotou, výsledek čtení bude obsahovat také nový column. Výchozí hodnota: None |
datetimeRebaseMode Typ: String Řídí přesunutí základu DATA a TIMESTAMP values mezi juliánským a proleptickým gregoriánským kalendářem. Povolené values: EXCEPTION , LEGACY aCORRECTED .Výchozí hodnota: LEGACY |
mergeSchema Typ: Boolean Zda chcete odvodit schema napříč více soubory a sloučit schema každého souboru. 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, zachrání data columns, jejichž názvy se liší pouze velikostí písmen od schema, jinak čte data bez rozlišování velkých a malých písmen.Výchozí hodnota: true |
rescuedDataColumn Typ: String Zda se mají shromažďovat všechna data, která nelze parsovat z důvodu neshody datového typu, a neshody schema (včetně column velikosti písma) na samostatný column. Výchozí nastavení zahrnuje tuto column při použití automatického zavaděče. Další podrobnosti najdete v tématu Co jsou záchranná data column?. 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. Informace o java.nio.charset.Charset možností najdete v list.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 Zda chcete odvodit schema napříč více soubory a sloučit schema každého souboru. Výchozí hodnota: false |