Sdílet prostřednictvím


read_files table-hodnotová funkce

Platí pro:zaškrtnutí označeného ano Databricks SQL zaškrtnutí označeného ano Databricks Runtime 13.3 LTS a vyšší

Načte soubory v zadaném umístění a vrátí data v tabulkové podobě.

Podporuje čtení JSON, , CSV, XML, TEXT, BINARYFILEPARQUET, AVRO, a ORC formáty souborů. Dokáže automaticky rozpoznat formát souboru a odvodit jednotný schema napříč všemi soubory.

Syntaxe

read_files(path [, option_key => option_value ] [...])

Argumenty

Tato funkce vyžaduje vyvolání pojmenovaného parametru pro klíče možností.

  • path: A STRING s identifikátorem URI umístění dat. Podporuje čtení z Azure Data Lake Storage Gen2 ('abfss://'), S3 (s3://) a Google Cloud Storage ('gs://'). Může obsahovat globy. Další podrobnosti najdete v tématu Zjišťování souborů.
  • option_key: Název možnosti konfigurace. Pro možnosti, které obsahují tečky (), musíte použít backticks (.').
  • option_value: Konstantní výraz, který má set možnost povolit. Přijímá literály a skalární funkce.

Návraty

table sestavená z dat ze souborů přečtených v daném path.

Zjišťování souborů

read_files může číst jednotlivé soubory nebo číst soubory v zadaném adresáři. read_files zjistí všechny soubory v zadaném adresáři rekurzivně, pokud není zadaný glob , který dává pokyn read_files , aby se znovu dostal do určitého vzoru adresáře.

Filtrování adresářů nebo souborů pomocí vzorů globu

Vzory globu lze použít pro filtrování adresářů a souborů, pokud jsou v cestě k dispozici.

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}} Odpovídá řetězci z řetězce set {ab, cde, cfh}.

read_files při zjišťování souborů pomocí globů používá striktní zavaděč automatického zavaděče. Tato možnost je nakonfigurovaná useStrictGlobber . Když je striktní globber zakázaný, koncové lomítka (/) se zahodí a hvězdicový vzor, například /*/ se může rozšířit do objevování více adresářů. Podívejte se na následující příklady a podívejte se na rozdíl v chování.

Vzor Cesta k souboru Striktní zakázání globberu Je povolen striktní globber
/a/b /a/b/c/file.txt Ano Ano
/a/b /a/b_dir/c/file.txt Ne Ne
/a/b /a/b.txt Ne Ne
/a/b/ /a/b.txt Ne Ne
/a/*/c/ /a/b/c/file.txt Ano Ano
/a/*/c/ /a/b/c/d/file.txt Ano Ano
/a/*/d/ /a/b/c/d/file.txt Ano Ne
/a/*/c/ /a/b/x/y/c/file.txt Ano Ne
/a/*/c /a/b/c_file.txt Ano Ne
/a/*/c/ /a/b/c_file.txt Ano Ne
/a/*/c /a/b/cookie/file.txt Ano Ne
/a/b* /a/b.txt Ano Ano
/a/b* /a/b/file.txt Ano Ano
/a/{0.txt,1.txt} /a/0.txt Ano Ano
/a/*/{0.txt,1.txt} /a/0.txt Ne Ne
/a/b/[cde-h]/i/ /a/b/c/i/file.txt Ano Ano

Schema odvozovat

schema souborů je možné explicitně poskytnout pro read_files s možností schema. Pokud schema není k dispozici, read_files se pokusí odvodit jednotný schema napříč zjištěnými soubory, což vyžaduje čtení všech souborů, pokud se nepoužije příkaz LIMIT. I když používáte dotaz LIMIT, může být přečteno více souborů set, než je nezbytné, aby se vrátila reprezentativní část schema dat. Databricks automaticky přidá LIMIT příkaz pro SELECT dotazy v poznámkových blocích a editor SQL, pokud ho uživatel nezadá.

Možnost schemaHints lze použít k opravě podmnožin zjištěných schema. Podívejte se na Přepsání závěrů schema pomocí nápověd schema pro více informací.

Ve výchozím nastavení je k dispozici rescuedDataColumn k záchraně všech dat, která neodpovídají schema. Podívejte se na Co jsou zachráněná data column? pro více podrobností. Nastavení možnosti rescuedDataColumnmůžete vyřaditschemaEvolutionMode => 'none'.

Partition schema závěr

read_files lze také odvodit dělení columns, pokud jsou soubory uloženy v oddílů adresářů ve stylu Hive, to je /column_name=column_value/. Pokud je k dispozici schema, zjištěná partitioncolumns použijí typy uvedené v schema. Pokud partitioncolumns nejsou součástí poskytnutého schema, odvozené partitioncolumns budou ignorovány.

Pokud column existuje jak v partitionschema, tak v datovém columns, použije se hodnota načtená z partition, místo datové hodnoty. Pokud chcete ignorovat values přicházející z adresáře a použít columndat, můžete zadat listpartitioncolumns v list oddělených čárkami s možností partitionColumns.

Možnost partitionColumns lze také použít k tomu, aby se zadalo read_files, které zjištěné columns se mají zahrnout do konečného odvozeného schema. Poskytnete-li prázdný řetězec, všechny partitioncolumnsjsou ignorovány.

Možnost schemaHints může být také poskytnuta k přepsání odvozeného schema pro partitioncolumn.

Formáty TEXT a BINARYFILE mají pevné schema, ale read_files se také pokusí odvodit dělení těchto formátů, pokud je to možné.

Využití ve streamování tables

read_files lze použít při streamování tables k nahrávání souborů do Delta Lake. read_files využívá Auto Loader při použití ve streamovaném dotazu table. Musíte použít STREAM klíčové slovo s read_files. Další podrobnosti najdete v tématu Co je automatický zavaděč?

Při použití ve streamovacím dotazu read_files použije vzorek dat k odvození schemaa může vyvíjet schema, protože zpracovává více dat. Další podrobnosti najdete v tématu Konfigurace schema odvozování a vývoje v automatickém zavaděči.

Možnosti

Základní možnosti

Možnost
format

Typ: String

Formát datového souboru ve zdrojové cestě. Pokud není k dispozici, automaticky se odvodí. Mezi povolené values patří:

- avro: Soubor Avro
- binaryFile: Binární soubor
- csv: Čtení souborů CSV
- json: Soubor JSON
- orc: SOUBOR ORC
- parquet: Čtení souborů Parquet pomocí Azure Databricks
- text: Textové soubory
- xml: Čtení a zápis souborů XML

Výchozí hodnota: None
inferColumnTypes

Typ: Boolean

Zda odvodit přesné typy column při využití odvozování schema. Ve výchozím nastavení se při odvozování datových sad JSON a CSV odvozují columns. Další podrobnosti najdete v schema odvození. Všimněte si, že toto je opak výchozího automatického zavaděče.

Výchozí hodnota: true
partitionColumns

Typ: String

partition columns stylu Hive list oddělené čárkami partitioncolumns, které chcete odvodit z adresářové struktury souborů. Styl Hive partitioncolumns jsou páry klíč-hodnota spojené znaménkem rovnosti, jako je například
<base-path>/a=x/b=1/c=y/file.format. V tomto příkladu jsou partitioncolumnsa, ba c. Ve výchozím nastavení se tyto columns automaticky přidají do vašeho schema, pokud používáte inferenci schema a poskytnete <base-path> pro načtení dat. Pokud zadáte schema, automatický zavaděč očekává, že tyto columns budou zahrnuty do schema. Pokud tyto columns nechcete používat jako součást schema, můžete určit "" k ignorování těchto columns. Tuto možnost můžete použít také v případě, že chcete, aby columns odvodil cestu k souboru ve složitých adresářových strukturách, například v následujícím příkladu:

<base-path>/year=2022/week=1/file1.csv
<base-path>/year=2022/month=2/day=3/file2.csv
<base-path>/year=2022/month=2/day=4/file3.csv

Určení cloudFiles.partitionColumns , jak year,month,day se vrátí
year=2022 pro file1.csv, ale month a daycolumns budou null.
month a day bude správně analyzován pro file2.csv a file3.csv.

Výchozí hodnota: None
schemaHints

Typ: String

Schema informace, které zadáte automatickému zavaděči během schema inferenci. Další podrobnosti najdete v poznámkách schema.

Výchozí hodnota: None
useStrictGlobber

Typ: Boolean

Zda použít striktní globber, který odpovídá výchozímu chování globbingu jiných zdrojů souborů v Apache Sparku. Další podrobnosti najdete v tématu Běžné vzorce načítání dat. K dispozici ve službě Databricks Runtime 12.2 LTS a novějších. Všimněte si, že toto je opak výchozího nastavení automatického zavaděče.

Výchozí hodnota: true

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 v
operationMetrics column 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 Stringnapří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 Stringnapří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 schema odvozování přeskočit partition 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 tokeny set not-a-number (NaN) jako platné číslo 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 uvádění ř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 ve formě DROPMALFORMED, pak tato column bude 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 list možností najdete v java.nio.charset.Charset. 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 TimestampTypejako . Když set do
true, 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\na \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 inference, například povolením
inferSchema 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ánit data columns, jehož názvy se liší od názvu schemapouze velikostí písmen; v opačném případě čtěte data nezávisle na velikosti písmen. K dispozici v Databricks Runtime
13.3 a vyšší.

Výchozí hodnota: true
rescuedDataColumn

Typ: String

Zda se mají shromažďovat všechna data, která nelze analyzovat z důvodu neshody datového typu nebo neshody schema (včetně velikosti písmen column) do samostatné column. Ve výchozím nastavení je tato column zahrnuta při použití Automatického zaváděč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 se budou ingestovat do 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 escape '\' definován jako '\', záznam bude přečten se 2 values: [a\] a [b].

Výchozí hodnota: '\0'
columnNameOfCorruptRecord

Podporováno pro automatický načítač. 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 možnostech najdete v java.nio.charset.Charsetlist. UTF-16 a UTF-32 nelze ji použít, pokud multiline je true.

Výchozí hodnota: UTF-8
enforceSchema

Typ: Boolean

Zda má být vynuceno použití specifikovaného nebo odvozeného schema pro soubory 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 záchraně 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\na \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 -1znamená neomezenou hodnotu.

Výchozí hodnota: -1
maxColumns

Typ: Int

Tvrdé limit omezení, 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. Ve výchozím nastavení je automatický zavaděč povolen při odvozování hodnoty schema.

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 DoubleTypecolumns.

Výchozí hodnota: "NaN"
negativeInf

Typ: String

Řetězcové znázornění záporného nekonečna při parsování FloatType nebo DoubleTypecolumns.

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ů určete, zda má být zarovnání columns deklarované v záhlaví a schema citlivé na velká a malá písmena. Toto nastavení je true ve výchozím nastavení automatického zavaděče. Columns, které se liší podle případu, budou v rescuedDataColumn v případě povolení záchrany. 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 DoubleTypecolumns.

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ím
cloudFiles.inferColumnTypes s automatickým zavaděčem.

Výchozí hodnota: true
quote

Typ: Char

Znak použitý pro únik oddělovače pole valueswhere je součástí hodnoty.

Výchozí hodnota: "
readerCaseSensitive

Typ: Boolean

Určuje chování citlivosti případu, pokud rescuedDataColumn je povoleno. Pokud to platí, zachraň data columns, jejichž názvy se liší podle velikosti písmen od schema; v opačném případě čti data bez ohledu na velikost písmen.

Výchozí hodnota: true
rescuedDataColumn

Typ: String

Zda shromáždit všechna data, která nelze analyzovat kvůli neshodě datového typu a neshodě schema (včetně formátování column), na samostatný column. Tato column je ve výchozím nastavení zahrnuta při použití Auto Loaderu. Další podrobnosti najdete v tématu Co jsou zachráněná 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 sepnebo konce řádku.
- SKIP_VALUE: Pokud jsou ve vstupu nalezeny neescapované uvozovky, obsah analyzovaný pro danou hodnotu se přeskočí (dokud se nenajde další oddělovač) a hodnota set v nullValue bude místo toho vytvořena.
- 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 bookpříslušná hodnota . Tato možnost je povinná. přečteno
samplingRatio Definuje část řádků použitých pro schema inferenci. 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ýzy

PERMISSIVE: U poškozených záznamů umístí poškozený řetězec do pole nakonfigurovaného columnNameOfCorruptRecordpomocí a nastaví poškozená pole na nullhodnotu . 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 pole nemá, 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živatelem
PERMISSIVE 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 schema, nebo se toto pole automaticky přidá během odvozování schema, pokud jsou u prvků s jinými elementy či atributy přítomna textová data. 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é mezery. 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 nemá jinak vliv na zadané schema nebo odvozené. přečteno
ignoreNamespace Pokud truejsou 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 Uživatelský formátovací řetězec pro časové razítko, které neobsahuje timezone a řídí se vzorem formátu pro datum a čas. 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 k prázdnému řetězci, který se má 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 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ě nullanalyzá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, , bzip2gzip,lz4 , snappya)
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, že názvy dat columns se liší podle velikosti písmen od schema, zachraň je; v opačném případě přečtěte data bez ohledu na rozlišení 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 parsovat kvůli neshodě datového typu a neshodě schema (včetně rozdílů v psaní velkých a malých písmen column), do samostatného column. Tato column je ve výchozím nastavení zahrnuta 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í znovubasování DATUM a TIMESTAMP values mezi juliánským a proleptickým gregoriánským kalendářem. Povolené values: EXCEPTION, LEGACYa
CORRECTED.

Výchozí hodnota: LEGACY
int96RebaseMode

Typ: String

Řídí přepracování časového razítka INT96 values ve Juliánském a Proleptickém Gregoriánském kalendáři. Povolené values: EXCEPTION, LEGACYa
CORRECTED.

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 podmínka splněna, zachraňte data columns, jejichž názvy se liší pouze velikostí písmen od schema; v opačném případě čtěte data bez rozlišování velkých a malých písmen.

Výchozí hodnota: true
rescuedDataColumn

Typ: String

Zda se mají všechna data, která nelze analyzovat kvůli neshodě datového typu a neshodě schema (včetně rozdílů v podobě column), shromažďovat k samostatnému column. Tato column je ve výchozím nastavení zahrnuta 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

AVRO volby

Možnost
avroSchema

Typ: String

Volitelné schema poskytnuté uživatelem ve formátu Avro. Při čtení Avro lze tuto možnost set vyvinout k schema, který je kompatibilní, ale liší se od skutečného Avro schema. Deserializace schema bude konzistentní s vyvinutým schema. Představte si například, že set evolvovaný schema obsahuje jeden další column s výchozí hodnotou; výsledek čtení pak bude obsahovat i nový column.

Výchozí hodnota: None
datetimeRebaseMode

Typ: String

Řídí přenastavení DATUMU a TIMESTAMPU values mezi Juliánským a Proleptickým gregoriánským kalendářem. Povolené values: EXCEPTION, LEGACYa...
CORRECTED.

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 to pravda, zachránit data columns, jejichž názvy se liší od schemapodle velikosti písmen; v opačném případě data číst bez rozlišování velkých a malých písmen.

Výchozí hodnota: true
rescuedDataColumn

Typ: String

Zda shromažďovat všechna data, která nelze zpracovat kvůli neshodě datového typu a neshodě schema (včetně velikostí písma column) do samostatného column. Tato column je ve výchozím nastavení obsažena při použití Auto Loader. 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. Podívejte se na java.nio.charset.Charset pro list možností.

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

Možnosti streamování

Tyto možnosti platí při použití read_files uvnitř streamovaného table nebo streamovaného dotazu.

Možnost
allowOverwrites

Typ: Boolean

Zda se mají po zjišťování znovu zpracovat soubory, které byly změněny. Nejnovější dostupná verze souboru se zpracuje během refresh, pokud byla změněna od posledního úspěšného spuštění dotazu refresh.

Výchozí hodnota: false
includeExistingFiles

Typ: Boolean

Zda zahrnout existující soubory do vstupní cesty zpracování datového proudu nebo zpracovat pouze nové soubory přicházející po počátečním nastavení. Tato možnost se vyhodnotí jenom při prvním spuštění datového proudu. Změna této možnosti po restartování streamu nemá žádný vliv.

Výchozí hodnota: true
maxBytesPerTrigger

Typ: Byte String

Maximální početnovýchch Můžete zadat bajtový řetězec, například od 10g do limit, pro každý mikrobatch až 10 GB dat. Jedná se o měkké maximum. Pokud máte soubory, které jsou 3 GB, Azure Databricks zpracuje 12 GB v mikrobatchu. Při použití společně s maxFilesPerTriggerazure Databricks spotřebovává až nižší limitmaxFilesPerTrigger nebo maxBytesPerTriggerpodle toho, co je dosaženo jako první.

Poznámka: U streamovaných tables vytvořených v bezserverových skladech SQL by tato možnost a maxFilesPerTrigger neměly být set k využití dynamického řízení přístupu, které se škáluje podle velikosti úloh a bezserverových výpočetních prostředků, abyste získali nejlepší latenci a výkon.

Výchozí hodnota: None
maxFilesPerTrigger

Typ: Integer

Maximální počet novýchsouborůch Při použití společně s maxBytesPerTriggerazure Databricks spotřebovává až nižší limitmaxFilesPerTrigger nebo maxBytesPerTriggerpodle toho, co je dosaženo jako první.

Poznámka: Pro streamování tables vytvořená v bezserverových SQL skladech by tato možnost a maxBytesPerTrigger neměly být set, aby se využilo dynamického řízení přístupu, které se škáluje podle velikosti úloh a bezserverových výpočetních prostředků, což vám poskytne nejlepší latenci a výkon.

Výchozí hodnota: 1000
schemaEvolutionMode

Typ: String

Způsob, jak vyvinout schema, když jsou v datech objeveny nové columns. Ve výchozím nastavení se columns při odvozování datových sad JSON interpretují jako řetězce. Další podrobnosti naleznete ve vývoji schema. Tato možnost se nevztahuje na text soubory a binaryFile soubory.

Výchozí hodnota: "addNewColumns", pokud není zadaný schema.
"none" jinak.
schemaLocation

Typ: String

Místo pro uložení odvozeného schema a následných změn. Další podrobnosti k schema inferenci najdete zde. Při použití ve streamovacím dotazu table se umístění schema nevyžaduje.

Výchozí hodnota: None

Příklady

-- Reads the files available in the given path. Auto-detects the format and schema of the data.
> SELECT * FROM read_files('abfss://container@storageAccount.dfs.core.windows.net/base/path');

-- Reads the headerless CSV files in the given path with the provided schema.
> SELECT * FROM read_files(
    's3://bucket/path',
    format => 'csv',
    schema => 'id int, ts timestamp, event string');

-- Infers the schema of CSV files with headers. Because the schema is not provided,
-- the CSV files are assumed to have headers.
> SELECT * FROM read_files(
    's3://bucket/path',
    format => 'csv')

-- Reads files that have a csv suffix.
> SELECT * FROM read_files('s3://bucket/path/*.csv')

-- Reads a single JSON file
> SELECT * FROM read_files(
    'abfss://container@storageAccount.dfs.core.windows.net/path/single.json')

-- Reads JSON files and overrides the data type of the column `id` to integer.
> SELECT * FROM read_files(
    's3://bucket/path',
    format => 'json',
    schemaHints => 'id int')

-- Reads files that have been uploaded or modified yesterday.
> SELECT * FROM read_files(
    'gs://my-bucket/avroData',
    modifiedAfter => date_sub(current_date(), 1),
    modifiedBefore => current_date())

-- Creates a Delta table and stores the source file path as part of the data
> CREATE TABLE my_avro_data
  AS SELECT *, _metadata.file_path
  FROM read_files('gs://my-bucket/avroData')

-- Creates a streaming table that processes files that appear only after the table's creation.
-- The table will most likely be empty (if there's no clock skew) after being first created,
-- and future refreshes will bring new data in.
> CREATE OR REFRESH STREAMING TABLE avro_data
  AS SELECT * FROM STREAM read_files('gs://my-bucket/avroData', includeExistingFiles => false);