Megosztás a következőn keresztül:


read_files táblaértékű függvény

A következőkre vonatkozik: jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime 13.3 LTS és újabb

Beolvassa a fájlokat egy megadott helyen, és táblázatos formában adja vissza az adatokat.

Támogatja az olvasást JSON, CSVa , XML, TEXT, BINARYFILE, PARQUET, AVROés a ORC fájlformátumokat. Képes automatikusan észlelni a fájlformátumot, és egységes sémát létrehozni az összes fájlban.

Syntax

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

Argumentumok

Ehhez a függvényhez elnevezett paraméterhívás szükséges a beállításkulcsokhoz.

  • path: A STRING az adatok helyének URI-jával. Támogatja az Azure Data Lake Storage Gen2 ('abfss://'), S3 (s3://) és Google Cloud Storage ('gs://') olvasását. Tartalmazhat globokat. További részletekért lásd a fájlfelderítést .
  • option_key: A konfigurálni kívánt beállítás neve. A pontokat (.) tartalmazó beállításokhoz backticks (') kell használnia.
  • option_value: Állandó kifejezés a beállítás beállításához. Konstansokat és skaláris függvényeket fogad el.

Válaszok

Egy táblázat, amely a megadott pathalatt beolvasott fájlokból származó adatokból áll.

Fájlfelderítés

read_files egy adott könyvtárban beolvashat egy adott fájlt vagy olvashat fájlokat. read_files rekurzívan felderíti a megadott könyvtárban lévő összes fájlt, kivéve, ha egy glob van megadva, amely arra utasítja read_files , hogy egy adott könyvtármintába ismétlődjön.

Könyvtárak vagy fájlok szűrése glob mintákkal

A Glob-minták a címtárak és fájlok szűréséhez használhatók, ha az elérési úton meg van adva.

Minta Leírás
? Egyetlen karakternek felel meg
* Nulla vagy több karakter egyezése
[abc] Egyetlen karakternek felel meg a(z) {a,b,c} karakterkészletből.
[a-z] Egyetlen karaktert egyezik a(z) {a... karaktertartományból z}.
[^a] Egyetlen karaktert egyezik meg, amely nem a(z) {a} karakterkészletből vagy tartományból származik. Vegye figyelembe, hogy a ^ karakternek közvetlenül a nyitó zárójel jobb oldalán kell lennie.
{ab,cd} Megfelel a(z) {ab, cd} sztringkészlet egyik sztringjének.
{ab,c{de, fh}} Megfelel a(z) {ab, cde, cfh} sztringhalmazból származó sztringnek.

read_files Az Automatikus betöltő szigorú globberjét használja a globokkal rendelkező fájlok felderítésekor. Ezt a useStrictGlobber beállítás konfigurálja. Ha a szigorú globber le van tiltva, a záró perjelek (/) el lesznek dobva, és egy csillagminta, például /*/ kiterjeszthető több könyvtár felderítésére. A viselkedésbeli különbséget az alábbi példákban tekintheti meg.

Minta Fájl elérési útja Szigorú globber letiltva Szigorú globber engedélyezve
/a/b /a/b/c/file.txt Igen Igen
/a/b /a/b_dir/c/file.txt Nem Nem
/a/b /a/b.txt Nem Nem
/a/b/ /a/b.txt Nem Nem
/a/*/c/ /a/b/c/file.txt Igen Igen
/a/*/c/ /a/b/c/d/file.txt Igen Igen
/a/*/d/ /a/b/c/d/file.txt Igen Nem
/a/*/c/ /a/b/x/y/c/file.txt Igen Nem
/a/*/c /a/b/c_file.txt Igen Nem
/a/*/c/ /a/b/c_file.txt Igen Nem
/a/*/c /a/b/cookie/file.txt Igen Nem
/a/b* /a/b.txt Igen Igen
/a/b* /a/b/file.txt Igen Igen
/a/{0.txt,1.txt} /a/0.txt Igen Igen
/a/*/{0.txt,1.txt} /a/0.txt Nem Nem
/a/b/[cde-h]/i/ /a/b/c/i/file.txt Igen Igen

Sémakövetkeztetés

A fájlok sémája explicit módon is megadható read_files a schema beállítással. Ha a séma nincs megadva, read_files egy egyesített sémát próbál kikövetkeztetni a felderített fájlok között, amelyhez az összes fájl olvasása szükséges, hacsak nem használ utasítást LIMIT . Még lekérdezés használata LIMIT esetén is előfordulhat, hogy a szükségesnél nagyobb számú fájl olvasható az adatok reprezentatívabb sémájának visszaadásához. A Databricks automatikusan hozzáad egy utasítást LIMIT a SELECT jegyzetfüzetekben lévő lekérdezésekhez és az SQL-szerkesztőhöz, ha egy felhasználó nem adott meg egyet.

Ezzel schemaHints a beállítással kijavíthatja a következtetett séma részhalmazait. További részletekért lásd: Sémakövető következtetés felülbírálása sématippekkel .

Az A rescuedDataColumn alapértelmezés szerint a sémával nem egyező adatok mentéséhez van megadva. További részletekért lásd: Mi a mentett adatoszlop? A beállítást a beállítás schemaEvolutionMode => 'none'beállításával elvethetirescuedDataColumn.

Partícióséma következtetése

read_filesA particionálási oszlopokat is kikövetkezheti, ha a fájlok Hive-stílusú particionált könyvtárakban vannak tárolva, azaz /column_name=column_value/. Ha van megadva, schema a felderített partícióoszlopok a megadott típusokat schemahasználják. Ha a partícióoszlopok nem részei a megadottnak schema, akkor a rendszer figyelmen kívül hagyja a következtetett partícióoszlopokat.

Ha a partíciós sémában és az adatoszlopokban is létezik oszlop, akkor a rendszer a partíció értékéből beolvasott értéket használja az adatérték helyett. Ha figyelmen kívül szeretné hagyni a könyvtárból érkező értékeket, és az adatoszlopot szeretné használni, a vesszővel tagolt listában megadhatja a partícióoszlopok listáját.partitionColumns

Ezzel partitionColumns a beállítással azt is megadhatja read_files , hogy mely felderített oszlopok szerepeljenek a végleges következtetési sémában. Az üres sztring megadása figyelmen kívül hagyja az összes partícióoszlopot.

Lehetőség schemaHints van arra is, hogy felülbírálja a partícióoszlopok következtetési sémáját.

A TEXT formátumok és BINARYFILE a sémák rögzített sémával rendelkeznek, de read_files lehetőség szerint megpróbálnak particionálást is kikövetkeztetni ezekhez a formátumokhoz.

Használat streamelési táblákban

read_files a streamelési táblákban fájlok Delta Lake-be való betöltésére használható. read_files az automatikus betöltőt használja streamelési táblalekérdezéskor. A kulcsszót a STREAM következővel kell használnia read_files: . További részletekért lásd: Mi az automatikus betöltő?

Streamlekérdezésben read_files való használat esetén az adatok mintája alapján következtethet a sémára, és továbbfejlesztheti a sémát, miközben több adatot dolgoz fel. További részletekért lásd: Sémakövetkeztetés és -fejlesztés konfigurálása az Automatikus betöltőben .

Beállítások

Alapszintű beállítások

Lehetőség
format

Típus: String

Az adatfájl formátuma a forrásútvonalon. Automatikus következtetés, ha nincs megadva. Az engedélyezett értékek a következők:

- avro: Avro-fájl
- binaryFile: Bináris fájl
- csv: CSV-fájlok olvasása
- json: JSON-fájl
- orc: ORC-fájl
- parquet: Parquet-fájlok olvasása az Azure Databricks használatával
- text: Szövegfájlok
- xml: XML-fájlok olvasása és írása

Alapértelmezett érték: Nincs
inferColumnTypes

Típus: Boolean

Pontos oszloptípusok következtetése a sémakövetkeztetés használatakor. Alapértelmezés szerint az oszlopok a JSON- és CSV-adatkészletek következtetésekor következtetnek. További részletekért lásd a sémakövetkeztetést . Vegye figyelembe, hogy ez az automatikus betöltő alapértelmezett ellentéte.

Alapértelmezett érték: true
partitionColumns

Típus: String

A hive stílusú partícióoszlopok vesszővel tagolt listája, amelyet a fájlok könyvtárszerkezetéből szeretne kikövetkezve következtetni. A hive stílusú partícióoszlopok kulcs-érték párok, amelyek egyenlőségjellel vannak kombinálva, például
<base-path>/a=x/b=1/c=y/file.format. Ebben a példában a partícióoszlopok a következőka: ésbc. Alapértelmezés szerint ezek az oszlopok automatikusan hozzáadódnak a sémához, ha sémakövetkeztetést használ, és megadja az <base-path> adatok betöltéséhez szükséges adatokat. Ha sémát ad meg, az Automatikus betöltő elvárja, hogy ezek az oszlopok szerepeljenek a sémában. Ha nem szeretné, hogy ezek az oszlopok a séma részeként jelenjenek meg, megadhatja "" , hogy figyelmen kívül hagyja ezeket az oszlopokat. Emellett akkor is használhatja ezt a lehetőséget, ha azt szeretné, hogy az oszlopok összetett címtárstruktúrákban következtethessenek a fájl elérési útjára, például az alábbi példában:

<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

A visszatérési cloudFiles.partitionColumns érték year,month,day megadása
year=2022for file1.csv, de az és day az month oszlopok leszneknull.
month és day megfelelően lesz elemezve és file2.csv file3.csv.

Alapértelmezett érték: Nincs
schemaHints

Típus: String

Az automatikus betöltőnek a sémakövetkező során megadott sémainformációk. További részletekért tekintse meg a sématippeket .

Alapértelmezett érték: Nincs
useStrictGlobber

Típus: Boolean

Szigorú globber használata, amely megfelel az Apache Spark más fájlforrásainak alapértelmezett globbing viselkedésének. További részletekért lásd a gyakori adatbetöltési mintákat . A Databricks Runtime 12.2 LTS-ben és újabb verziókban érhető el. Vegye figyelembe, hogy ez az automatikus betöltő alapértelmezett ellentéte.

Alapértelmezett érték: true

Általános beállítások

Az alábbi beállítások az összes fájlformátumra vonatkoznak.

Lehetőség
ignoreCorruptFiles

Típus: Boolean

A sérült fájlok figyelmen kívül hagyása. Ha igaz, a Spark-feladatok továbbra is futnak, amikor sérült fájlokba ütköznek, és az olvasott tartalom továbbra is vissza lesz adva. Megfigyelhető, mint numSkippedCorruptFiles a
operationMetrics a Delta Lake-előzmények oszlopában. A Databricks Runtime 11.3 LTS-ben és újabb verziókban érhető el.

Alapértelmezett érték: false
ignoreMissingFiles

Típus: Boolean

A hiányzó fájlok figyelmen kívül hagyása. Ha igaz, a Spark-feladatok továbbra is futnak, amikor hiányzó fájlokkal találkoznak, és az olvasott tartalom továbbra is vissza lesz adva. A Databricks Runtime 11.3 LTS-ben és újabb verziókban érhető el.

Alapértelmezett érték: false (true for COPY INTO)
modifiedAfter

Típus: Timestamp Stringpéldául: 2021-01-01 00:00:00.000000 UTC+0

Nem kötelező időbélyeg a megadott időbélyeg után módosítási időbélyeget tartalmazó fájlok betöltéséhez.

Alapértelmezett érték: Nincs
modifiedBefore

Típus: Timestamp Stringpéldául: 2021-01-01 00:00:00.000000 UTC+0

Nem kötelező időbélyeg a megadott időbélyeg előtt módosítási időbélyeget tartalmazó fájlok betöltéséhez.

Alapértelmezett érték: Nincs
pathGlobFilter vagy fileNamePattern

Típus: String

Egy lehetséges glob minta, amely lehetővé teszik a fájlok kiválasztását. Egyenértékű a
PATTERN in COPY INTO. fileNamePattern használható a következőben read_files: .

Alapértelmezett érték: Nincs
recursiveFileLookup

Típus: Boolean

Azt határozza meg, hogy kihagyja-e a partíciókövető következtetést a séma következtetése során. Ez nem befolyásolja, hogy mely fájlok legyenek betöltve.

Alapértelmezett érték: false

JSON beállítások

Lehetőség
allowBackslashEscapingAnyCharacter

Típus: Boolean

Hogy engedélyezi-e a fordított perjeleket, hogy elkerüljenek minden karaktert, amely sikerrel jár. Ha nincs engedélyezve, csak a JSON-specifikációban kifejezetten felsorolt karaktereket lehet feloldani.

Alapértelmezett érték: false
allowComments

Típus: Boolean

Engedélyezve van-e a Java, a C és a C++ stílusú megjegyzések ('/'és '*''//' fajták) használata az elemzett tartalomban, vagy sem.

Alapértelmezett érték: false
allowNonNumericNumbers

Típus: Boolean

Engedélyezi-e a nem szám (NaN) jogkivonatok halmazát jogi lebegőszámértékekként.

Alapértelmezett érték: true
allowNumericLeadingZeros

Típus: Boolean

Annak engedélyezése, hogy az integrál számok további (figyelmen kívül hagyható) nullákkal kezdődjenek (például 000001).

Alapértelmezett érték: false
allowSingleQuotes

Típus: Boolean

Engedélyezi-e az idézőjelek (aposztróf, karakter '\') használatát sztringek (nevek és sztringértékek) idézéséhez.

Alapértelmezett érték: true
allowUnquotedControlChars

Típus: Boolean

Engedélyezi-e, hogy a JSON-sztringek használhatatlan vezérlőelem-karaktereket (32-nél kisebb értékű ASCII-karaktereket, beleértve a tabulátor- és vonalcsatorna-karaktereket) tartalmazzanak-e, vagy sem.

Alapértelmezett érték: false
allowUnquotedFieldNames

Típus: Boolean

Engedélyezi-e a nem kvótált mezőnevek használatát (amelyeket a JavaScript engedélyez, de a JSON-specifikáció nem).

Alapértelmezett érték: false
badRecordsPath

Típus: String

A rossz JSON-rekordok adatainak rögzítésére szolgáló fájlok tárolásának elérési útja.

Alapértelmezett érték: Nincs
columnNameOfCorruptRecord

Típus: String

A hibásan formázott és nem elemezhető rekordok tárolására szolgáló oszlop. Ha az mode elemzéshez be van állítva DROPMALFORMEDaz oszlop, ez az oszlop üres lesz.

Alapértelmezett érték: _corrupt_record
dateFormat

Típus: String

Dátumsztringek elemzésének formátuma.

Alapértelmezett érték: yyyy-MM-dd
dropFieldIfAllNull

Típus: Boolean

Figyelmen kívül hagyja-e az összes null értékű oszlopot, vagy üres tömböt és szerkezetet a sémakövetőség során.

Alapértelmezett érték: false
encoding vagy charset

Típus: String

A JSON-fájlok kódolásának neve. A lehetőségek listáját itt találja java.nio.charset.Charset . Nem használható UTF-16 és UTF-32 mikor multiline van true.

Alapértelmezett érték: UTF-8
inferTimestamp

Típus: Boolean

Az időbélyeg-sztringek kipróbálása és következtetése TimestampType. Ha be van állítva
true, a sémakövetkeztetés jelentősen tovább tarthat. Engedélyeznie cloudFiles.inferColumnTypes kell az automatikus betöltő használatát.

Alapértelmezett érték: false
lineSep

Típus: String

Két egymást követő JSON-rekord közötti sztring.

Alapértelmezett érték: Nincs, amely a \r\r\n\n
locale

Típus: String

Azonosító java.util.Locale . Befolyásolja az alapértelmezett dátumot, időbélyeget és decimális elemzést a JSON-ban.

Alapértelmezett érték: US
mode

Típus: String

Elemzési mód a hibásan formázott rekordok kezelése körül. Az egyik,'PERMISSIVE'
'DROPMALFORMED''FAILFAST'vagy .

Alapértelmezett érték: PERMISSIVE
multiLine

Típus: Boolean

Azt jelzi, hogy a JSON-rekordok több sorra is kiterjednek-e.

Alapértelmezett érték: false
prefersDecimal

Típus: Boolean

Ha lehetséges, sztringeket próbál kikövetkeztetni DecimalType lebegőpontos vagy kettős típus helyett. Sémakövetkeztetést is használnia kell a
inferSchema vagy az Automatikus betöltő használatával cloudFiles.inferColumnTypes .

Alapértelmezett érték: false
primitivesAsString

Típus: Boolean

Az olyan primitív típusok, mint a számok és a logikai értékek következtetése StringType.

Alapértelmezett érték: false
readerCaseSensitive

Típus: Boolean

A kis- és nagybetűk bizalmassági viselkedését adja meg, ha rescuedDataColumn engedélyezve van. Ha igaz, mentse azokat az adatoszlopokat, amelyeknek a neve esetenként eltér a sémától; ellenkező esetben a kis- és nagybetűket nem érzékelyítő módon olvassa be. Elérhető a Databricks Runtime-ban
13.3 és újabb.

Alapértelmezett érték: true
rescuedDataColumn

Típus: String

Az adattípus-eltérés vagy a sémaeltérés (beleértve az oszlopházat is) miatt nem elemezhető összes adat összegyűjtése egy külön oszlopra. Ez az oszlop alapértelmezés szerint az Automatikus betöltő használata esetén jelenik meg. További részletekért lásd : Mi a mentett adatoszlop?.

Alapértelmezett érték: Nincs
singleVariantColumn

Típus: String

Azt, hogy a teljes JSON-dokumentumot betölti-e, egyetlen Variant oszlopba kell elemeznie, amelynek neve az adott sztring. Ha le van tiltva, a JSON-mezők a saját oszlopaikba lesznek betöltve.

Alapértelmezett érték: Nincs
timestampFormat

Típus: String

Az időbélyeg-sztringek elemzésének formátuma.

Alapértelmezett érték: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]
timeZone

Típus: String

Az java.time.ZoneId időbélyegek és dátumok elemzésekor használandó.

Alapértelmezett érték: Nincs

CSV beállítások

Lehetőség
badRecordsPath

Típus: String

A rossz CSV-rekordok adatainak rögzítésére szolgáló fájlok tárolásának elérési útja.

Alapértelmezett érték: Nincs
charToEscapeQuoteEscaping

Típus: Char

Az idézőjelek elől menekülő karakter. Például a következő rekordhoz: [ " a\\", b ]

- Ha a feloldandó '\' karakter nincs meghatározva, a rekord nem lesz elemezve. Az elemző felolvassa a karaktereket, [a],[\],["],[,],[ ],[b] és hibát jelez, mert nem talál záró idézőjelet.
- Ha a feloldandó karakter a '\' következőképpen van definiálva '\', a rekord 2 értékkel lesz beolvasva: [a\] és [b].

Alapértelmezett érték: '\0'
columnNameOfCorruptRecord

> [! MEGJEGYZÉS] >> Az automatikus betöltő támogatott. Nem támogatott.COPY INTO

Típus: String

A hibásan formázott és nem elemezhető rekordok tárolására szolgáló oszlop. Ha az mode elemzéshez be van állítva DROPMALFORMEDaz oszlop, ez az oszlop üres lesz.

Alapértelmezett érték: _corrupt_record
comment

Típus: Char

Meghatározza azt a karaktert, amely egy sor megjegyzését jelöli, amikor egy szövegsor elején található. A megjegyzés kihagyásának letiltására használható '\0' .

Alapértelmezett érték: '\u0000'
dateFormat

Típus: String

Dátumsztringek elemzésének formátuma.

Alapértelmezett érték: yyyy-MM-dd
emptyValue

Típus: String

Üres érték sztring-ábrázolása.

Alapértelmezett érték: ""
encoding vagy charset

Típus: String

A CSV-fájlok kódolásának neve. Tekintse meg java.nio.charset.Charset a lehetőségek listáját. UTF-16 és UTF-32 nem használható, ha multiline van true.

Alapértelmezett érték: UTF-8
enforceSchema

Típus: Boolean

Azt határozza meg, hogy a megadott vagy a következtetett sémát kényszerítve alkalmazza-e a CSV-fájlokra. Ha a beállítás engedélyezve van, a CSV-fájlok fejlécei figyelmen kívül lesznek hagyva. Ez a beállítás alapértelmezés szerint figyelmen kívül lesz hagyva az adatok mentésére és a sémafejlődés engedélyezésére használt Automatikus betöltő használatakor.

Alapértelmezett érték: true
escape

Típus: Char

Az adatok elemzésekor használandó escape karakter.

Alapértelmezett érték: '\'
header

Típus: Boolean

Hogy a CSV-fájlok tartalmaznak-e fejlécet. Az automatikus betöltő feltételezi, hogy a fájlok fejlécekkel rendelkeznek a séma következtetésekor.

Alapértelmezett érték: false
ignoreLeadingWhiteSpace

Típus: Boolean

Azt határozza meg, hogy figyelmen kívül hagyja-e az egyes elemzési értékek kezdő szóközeit.

Alapértelmezett érték: false
ignoreTrailingWhiteSpace

Típus: Boolean

Azt határozza meg, hogy figyelmen kívül hagyja-e az egyes elemzési értékek záró szóközeit.

Alapértelmezett érték: false
inferSchema

Típus: Boolean

Az elemezt CSV-rekordok adattípusainak következtetése vagy annak feltételezése, hogy az összes oszlop az StringType. Ha be van állítva true, további továbbítást igényel az adatok felett. Az Automatikus betöltőhöz használja cloudFiles.inferColumnTypes helyette.

Alapértelmezett érték: false
lineSep

Típus: String

Két egymást követő CSV-rekord közötti sztring.

Alapértelmezett érték: Nincs, amely a \r\r\n\n
locale

Típus: String

Azonosító java.util.Locale . Befolyásolja az alapértelmezett dátumot, időbélyeget és decimális elemzést a CSV-ben.

Alapértelmezett érték: US
maxCharsPerColumn

Típus: Int

Az értéktől az elemzésig várt karakterek maximális száma. A memóriahibák elkerülése érdekében használható. Alapértelmezett érték, -1ami azt jelenti, hogy korlátlan.

Alapértelmezett érték: -1
maxColumns

Típus: Int

Az a korlát, hogy egy rekord hány oszlopot tartalmazhat.

Alapértelmezett érték: 20480
mergeSchema

Típus: Boolean

Azt határozza meg, hogy a sémát több fájlra kívánja-e következtetni, és hogy egyesítse-e az egyes fájlok sémáját. Alapértelmezés szerint engedélyezve van az Automatikus betöltőhöz a séma következtetésekor.

Alapértelmezett érték: false
mode

Típus: String

Elemzési mód a hibásan formázott rekordok kezelése körül. Az egyik,'PERMISSIVE'
'DROPMALFORMED''FAILFAST'és .

Alapértelmezett érték: PERMISSIVE
multiLine

Típus: Boolean

Azt jelzi, hogy a CSV-rekordok több sorra is kiterjednek-e.

Alapértelmezett érték: false
nanValue

Típus: String

Nem számérték karakterlánc-ábrázolása FloatType elemzéskor és DoubleType oszlopokban.

Alapértelmezett érték: "NaN"
negativeInf

Típus: String

A negatív végtelen sztring-ábrázolása elemzéskor FloatType vagy DoubleType oszlopokban.

Alapértelmezett érték: "-Inf"
nullValue

Típus: String

Null érték sztring-ábrázolása.

Alapértelmezett érték: ""
parserCaseSensitive (elavult)

Típus: Boolean

Fájlok olvasása közben a fejlécben deklarált oszlopokat bizalmasan kell-e igazítani a séma-kis- és nagybetűkhöz. Ez alapértelmezés szerint az true Automatikus betöltő esetében van. Az egyes esetekben eltérő oszlopokat a rendszer az rescuedDataColumn engedélyezve lévő helyen menti. Ez a beállítás elavult a következő javára readerCaseSensitive: .

Alapértelmezett érték: false
positiveInf

Típus: String

A pozitív végtelen sztring-ábrázolása elemzéskor FloatType vagy DoubleType oszlopokban.

Alapértelmezett érték: "Inf"
preferDate

Típus: Boolean

A sztringeket időbélyeg helyett dátumként próbálja meg kikövetkelni, ha lehetséges. Sémakövetkeztetést is kell használnia, akár engedélyezéssel inferSchema , akár
cloudFiles.inferColumnTypes automatikus betöltővel.

Alapértelmezett érték: true
quote

Típus: Char

Az olyan értékekre való meneküléshez használt karakter, ahol a mezőelválasztó az érték része.

Alapértelmezett érték: "
readerCaseSensitive

Típus: Boolean

A kis- és nagybetűk bizalmassági viselkedését adja meg, ha rescuedDataColumn engedélyezve van. Ha igaz, mentse azokat az adatoszlopokat, amelyeknek a neve esetenként eltér a sémától; ellenkező esetben a kis- és nagybetűket nem érzékelyítő módon olvassa be.

Alapértelmezett érték: true
rescuedDataColumn

Típus: String

Hogy összegyűjtse-e az összes olyan adatot, amely nem elemezhető a következő miatt: adattípus-eltérés, és sémaeltérés (beleértve az oszlopházat is) egy külön oszlopra. Ez az oszlop alapértelmezés szerint az Automatikus betöltő használata esetén jelenik meg. További részletekért lásd: Mi a mentett adatoszlop?.

Alapértelmezett érték: Nincs
sep vagy delimiter

Típus: String

Az elválasztó sztring oszlopok között.

Alapértelmezett érték: ","
skipRows

Típus: Int

A CSV-fájl elejéről figyelmen kívül hagyandó sorok száma (beleértve a megjegyzésben szereplő és az üres sorokat is). Ha header igaz, akkor a fejléc lesz az első leválasztott és nem kijelölt sor.

Alapértelmezett érték: 0
timestampFormat

Típus: String

Az időbélyeg-sztringek elemzésének formátuma.

Alapértelmezett érték: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]
timeZone

Típus: String

Az java.time.ZoneId időbélyegek és dátumok elemzésekor használandó.

Alapértelmezett érték: Nincs
unescapedQuoteHandling

Típus: String

A lezáratlan idézőjelek kezelésének stratégiája. Engedélyezett beállítások:

- STOP_AT_CLOSING_QUOTE: Ha a bemenetben nem definiált idézőjelek találhatók, halmozza fel az idézőjelet, és folytassa az érték idézőjelként való elemzését, amíg meg nem talál egy záró idézőjelet.
- BACK_TO_DELIMITER: Ha nem beágyazott idézőjelek találhatók a bemenetben, vegye figyelembe az értéket nem kvótált értékként. Így az elemző összegyűjti az aktuális elemzési érték összes karakterét, amíg meg nem találja az általa sep definiált elválasztó karaktert. Ha az érték nem tartalmaz elválasztójelet, az elemző a karaktereket addig halmozza a bemenetből, amíg elválasztó vagy vonalvégződés nem található.
- STOP_AT_DELIMITER: Ha nem beágyazott idézőjelek találhatók a bemenetben, vegye figyelembe az értéket nem kvótált értékként. Ezzel az elemző összes karaktert halmoz fel, amíg a megadott elválasztó sepkarakter vagy egy sorvégződés nem található a bemenetben.
- SKIP_VALUE: Ha nem beágyazott idézőjelek találhatók a bemenetben, a program kihagyja az adott értékhez elemezett tartalmat (amíg a következő elválasztó nem található), és a beírt nullValue érték jön létre helyette.
- RAISE_ERROR: Ha a bemenetben nem beágyazott idézőjelek találhatók, a
TextParsingException lesz dobva.

Alapértelmezett érték: STOP_AT_DELIMITER

XML beállítások

Lehetőség Leírás Hatókör
rowTag A sorként kezelendő XML-fájlok sorcímkéje. A példa XML-fájljában <books> <book><book>...<books>a megfelelő érték a következő book. Ez egy kötelező beállítás. elolvasva
samplingRatio A sémakövetkeztetéshez használt sorok töredékét határozza meg. Az XML beépített függvényei figyelmen kívül hagyják ezt a beállítást. Alapértelmezett: 1.0. elolvasva
excludeAttribute Az elemek attribútumainak kizárása. Alapértelmezett: false. elolvasva
mode A sérült rekordok elemzés közbeni kezelésére szolgáló mód.

PERMISSIVE: Sérült rekordok esetén a hibásan formázott sztringet egy, az által columnNameOfCorruptRecordkonfigurált mezőbe helyezi, és a hibásan formázott mezőket a következőre nullállítja be: . A sérült rekordok megőrzéséhez beállíthat egy string felhasználó által definiált sémában elnevezett columnNameOfCorruptRecord típusmezőt. Ha egy séma nem rendelkezik a mezővel, a rendszer az elemzés során elveti a sérült rekordokat. Séma következtetésekor az elemző implicit módon hozzáad egy mezőt egy columnNameOfCorruptRecord kimeneti sémához.

DROPMALFORMED: Figyelmen kívül hagyja a sérült rekordokat. Ez a mód nem támogatott a beépített XML-függvényekhez.

FAILFAST: Kivételt eredményez, ha az elemző sérült rekordokkal találkozik.
elolvasva
inferSchema Ha trueaz eredményként kapott DataFrame-oszlopokhoz megfelelő típust próbál kikövetkeztetni. Ha false, az összes eredményként kapott oszlop típusú string . Alapértelmezett:
true. Az XML beépített függvényei figyelmen kívül hagyják ezt a beállítást.
elolvasva
columnNameOfCorruptRecord Lehetővé teszi az új mező átnevezését, amely egy hibásan formázott sztringet tartalmaz, amelyet
PERMISSIVE üzemmód. Alapértelmezett: spark.sql.columnNameOfCorruptRecord.
elolvasva
attributePrefix Az attribútumok előtagja, amely megkülönbözteti az attribútumokat az elemektől. Ez lesz a mezőnevek előtagja. Az alapértelmezett szint a _. Az XML olvasásához üres lehet, íráshoz azonban nem. olvasás, írás
valueTag Az attribútum(ok) vagy gyermekelem(ek) elemekkel is rendelkező elemek karakteradataihoz használt címke. A felhasználó megadhatja a mezőt a valueTag sémában, vagy automatikusan hozzáadja azt a sémakövetkeztetés során, ha a karakteradatok más elemekkel vagy attribútumokkal rendelkező elemekben vannak jelen. Alapértelmezett: _VALUE olvasás,írás
encoding Olvasáshoz az XML-fájlokat a megadott kódolási típus szerint dekódolja. Íráshoz a mentett XML-fájlok kódolását (karakterkészletét) adja meg. Az XML beépített függvényei figyelmen kívül hagyják ezt a beállítást. Alapértelmezett: UTF-8. olvasás, írás
ignoreSurroundingSpaces Azt határozza meg, hogy a fehér szóközöket kihagyja-e az olvasott értékekből. Alapértelmezett: true. A rendszer figyelmen kívül hagyja a csak üres karakterek adatait. elolvasva
rowValidationXSDPath Egy opcionális XSD-fájl elérési útja, amely az EGYES sorok XML-jének ellenőrzésére szolgál. A nem érvényesíthető sorok elemzési hibákként lesznek kezelve a fenti módon. Az XSD egyébként nem befolyásolja a megadott sémát, és nem következik be. elolvasva
ignoreNamespace Ha truea névterek XML-elemeken és attribútumokon lévő előtagjai figyelmen kívül lesznek hagyva. A címkéket <abc:author> és <def:author>például a címkéket úgy kezeli a rendszer, mintha mindkettő csak <author>. A névterek nem hagyhatók figyelmen kívül az elemen, csak az rowTag olvasási gyermekein. Az XML-elemzés akkor sem névtérérzékeny, ha false. Alapértelmezett: false. elolvasva
timestampFormat A datetime mintaformátumot követő egyéni időbélyeg-formátum sztringje. Ez a típusra timestamp vonatkozik. Alapértelmezett: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]. olvasás, írás
timestampNTZFormat A dátum/idő minta formátumát követő időzóna nélküli időbélyeg egyéni formázási sztringje. Ez a TimestampNTZType típusra vonatkozik. Alapértelmezett:
yyyy-MM-dd'T'HH:mm:ss[.SSS]
olvasás, írás
dateFormat A datetime mintaformátumot követő egyéni dátumformátum-sztring. Ez a dátumtípusra vonatkozik. Alapértelmezett: yyyy-MM-dd. olvasás, írás
locale Nyelvi címkeként állít be területi beállításokat IETF BCP 47 formátumban. Például locale a dátumok és időbélyegek elemzésekor használatos. Alapértelmezett: en-US. elolvasva
rootTag Az XML-fájlok gyökércímkéje. Ebben a példában <books> <book><book>...</books>például a megfelelő érték az books. Az alapszintű attribútumokat egy olyan érték megadásával adhatja meg, mint a books foo="bar". Alapértelmezett: ROWS. írás
declaration Az összes kimeneti XML-fájl elején írandó XML-deklaráció tartalma a rootTag. Például az írandó okok <?xml foo?> értékefoo. Állítson be egy üres sztringet a letiltásához. Alapértelmezett: version="1.0"
encoding="UTF-8" standalone="yes".
írás
arrayElementName Annak az XML-elemnek a neve, amely egy tömbértékű oszlop minden elemét magában foglal íráskor. Alapértelmezett: item. írás
nullValue Null érték sztring-ábrázolását állítja be. Alapértelmezett: sztring null. Ebben az esetben nullaz elemző nem ír attribútumokat és elemeket a mezőkhöz. olvasás, írás
compression Fájlba mentéskor használandó tömörítési kód. Ez lehet az egyik ismert kis- és nagybetűs rövidített név (none, bzip2, , gzip,lz4 és snappy
deflate). Az XML beépített függvényei figyelmen kívül hagyják ezt a beállítást. Alapértelmezett: none.
írás
validateName Ha igaz, hibát jelez az XML-elemnév-érvényesítési hiba esetén. Az SQL-mezőneveknek például lehetnek szóközei, de az XML-elemnevek nem. Alapértelmezett:
true.
írás
readerCaseSensitive Meghatározza a kis- és nagybetűk bizalmassági viselkedését, ha a mentettDataColumn engedélyezve van. Ha igaz, mentse azokat az adatoszlopokat, amelyeknek a neve esetenként eltér a sémától; ellenkező esetben a kis- és nagybetűket nem érzékelyítő módon olvassa be. Alapértelmezett: true. elolvasva
rescuedDataColumn Hogy összegyűjtse-e az összes olyan adatot, amelyet nem lehet elemezni az adattípus eltérése és a sémaeltérés miatt (beleértve az oszlopházat is) egy külön oszlopra. Ez az oszlop alapértelmezés szerint az Automatikus betöltő használata esetén jelenik meg. További részletekért lásd : Mi a mentett adatoszlop?. Alapértelmezett: Nincs. elolvasva

PARQUET beállítások

Lehetőség
datetimeRebaseMode

Típus: String

A JULIÁN ÉS a Prolitikus Gergely-naptárak közötti DÁTUM és IDŐBÉLYEG értékek újbóli egyeztetését szabályozza. Engedélyezett értékek: EXCEPTION, LEGACYés
CORRECTED.

Alapértelmezett érték: LEGACY
int96RebaseMode

Típus: String

Az INT96 időbélyeg értékeinek a Julian és a Proleptic Gergely-naptárak közötti újbóli egyeztetését szabályozza. Engedélyezett értékek: EXCEPTION, LEGACYés
CORRECTED.

Alapértelmezett érték: LEGACY
mergeSchema

Típus: Boolean

Azt határozza meg, hogy a sémát több fájlra kívánja-e következtetni, és hogy egyesítse-e az egyes fájlok sémáját.

Alapértelmezett érték: false
readerCaseSensitive

Típus: Boolean

A kis- és nagybetűk bizalmassági viselkedését adja meg, ha rescuedDataColumn engedélyezve van. Ha igaz, mentse azokat az adatoszlopokat, amelyeknek a neve esetenként eltér a sémától; ellenkező esetben a kis- és nagybetűket nem érzékelyítő módon olvassa be.

Alapértelmezett érték: true
rescuedDataColumn

Típus: String

Hogy összegyűjtse-e az összes olyan adatot, amely nem elemezhető a következő miatt: adattípus-eltérés, és sémaeltérés (beleértve az oszlopházat is) egy külön oszlopra. Ez az oszlop alapértelmezés szerint az Automatikus betöltő használata esetén jelenik meg. További részletekért lásd: Mi a mentett adatoszlop?.

Alapértelmezett érték: Nincs

AVRO beállítások

Lehetőség
avroSchema

Típus: String

Nem kötelező séma, amelyet egy felhasználó Avro formátumban biztosít. Az Avro olvasásakor ez a beállítás beállítható egy kifejlett sémára, amely kompatibilis, de eltér a tényleges Avro-sémától. A deszerializálási séma összhangban lesz a kifejlődött sémával. Ha például egy új, alapértelmezett értékkel rendelkező oszlopot tartalmazó sémát állít be, az olvasási eredmény az új oszlopot is tartalmazza.

Alapértelmezett érték: Nincs
datetimeRebaseMode

Típus: String

A JULIÁN ÉS a Prolitikus Gergely-naptárak közötti DÁTUM és IDŐBÉLYEG értékek újbóli egyeztetését szabályozza. Engedélyezett értékek: EXCEPTION, LEGACYés
CORRECTED.

Alapértelmezett érték: LEGACY
mergeSchema

Típus: Boolean

Azt határozza meg, hogy a sémát több fájlra kívánja-e következtetni, és hogy egyesítse-e az egyes fájlok sémáját.
mergeSchema az Avro nem lazítja az adattípusokat.

Alapértelmezett érték: false
readerCaseSensitive

Típus: Boolean

A kis- és nagybetűk bizalmassági viselkedését adja meg, ha rescuedDataColumn engedélyezve van. Ha igaz, mentse azokat az adatoszlopokat, amelyeknek a neve esetenként eltér a sémától; ellenkező esetben a kis- és nagybetűket nem érzékelyítő módon olvassa be.

Alapértelmezett érték: true
rescuedDataColumn

Típus: String

Hogy összegyűjtse-e az összes olyan adatot, amely nem elemezhető a következő miatt: adattípus-eltérés, és sémaeltérés (beleértve az oszlopházat is) egy külön oszlopra. Ez az oszlop alapértelmezés szerint az Automatikus betöltő használata esetén jelenik meg. További részletekért lásd: Mi a mentett adatoszlop?.

Alapértelmezett érték: Nincs

BINARYFILE beállítások

A bináris fájlok nem rendelkeznek további konfigurációs lehetőségekkel.

TEXT beállítások

Lehetőség
encoding

Típus: String

A SZÖVEGfájlok kódolásának neve. A lehetőségek listáját itt találja java.nio.charset.Charset .

Alapértelmezett érték: UTF-8
lineSep

Típus: String

Két egymást követő SZÖVEG rekord közötti sztring.

Alapértelmezett érték: Nincs, amely a \r\r\n\n
wholeText

Típus: Boolean

Egy fájl beolvasása egyetlen rekordként.

Alapértelmezett érték: false

ORC beállítások

Lehetőség
mergeSchema

Típus: Boolean

Azt határozza meg, hogy a sémát több fájlra kívánja-e következtetni, és hogy egyesítse-e az egyes fájlok sémáját.

Alapértelmezett érték: false

Streamelési lehetőségek

Ezek a beállítások streamelési táblán vagy streamelési lekérdezésen belül történő használat read_files esetén érvényesek.

Lehetőség
allowOverwrites

Típus: Boolean

A felderítés után módosított fájlok újrafeldolgozása. A fájl legújabb elérhető verziója akkor lesz feldolgozva a frissítés során, ha az a legutóbbi sikeres frissítési lekérdezés kezdési időpontja óta módosult.

Alapértelmezett érték: false
includeExistingFiles

Típus: Boolean

Akár meglévő fájlokat szeretne felvenni a streamfeldolgozási bemeneti útvonalba, akár csak a kezdeti beállítás után érkező új fájlok feldolgozását. Ezt a beállítást csak akkor értékeli ki a rendszer, ha először indít el streamet. A beállítás módosítása a stream újraindítása után nincs hatással.

Alapértelmezett érték: true
maxBytesPerTrigger

Típus: Byte String

Az összes eseményindítóban feldolgozandó új bájtok maximális száma. Megadhat egy bájtsztringet, amely 10g az egyes mikrobatcheket 10 GB-ra korlátozza. Ez egy puha maximum. Ha egyenként 3 GB-os fájlokkal rendelkezik, az Azure Databricks 12 GB-ot dolgoz fel egy mikrobatchben. Ha együtt maxFilesPerTriggerhasználják, az Azure Databricks legfeljebb az alsó korlátot maxFilesPerTrigger használja, vagy maxBytesPerTriggerattól függően, hogy melyiket éri el először.

Megjegyzés: A kiszolgáló nélküli SQL-raktárakban létrehozott streamtáblák esetében ezt a beállítást maxFilesPerTrigger nem szabad úgy beállítani, hogy dinamikus belépésvezérlést használjon, amely a számítási feladatok mérete és a kiszolgáló nélküli számítási erőforrások alapján skálázva a lehető legjobb késést és teljesítményt nyújtja.

Alapértelmezett érték: Nincs
maxFilesPerTrigger

Típus: Integer

Az összes eseményindítóban feldolgozandó új fájlok maximális száma. Ha együtt maxBytesPerTriggerhasználják, az Azure Databricks legfeljebb az alsó korlátot maxFilesPerTrigger használja, vagy maxBytesPerTriggerattól függően, hogy melyiket éri el először.

Megjegyzés: A kiszolgáló nélküli SQL-raktárakban létrehozott streamtáblák esetében ezt a beállítást maxBytesPerTrigger nem szabad úgy beállítani, hogy dinamikus belépésvezérlést használjon, amely a számítási feladatok mérete és a kiszolgáló nélküli számítási erőforrások alapján skálázva a lehető legjobb késést és teljesítményt nyújtja.

Alapértelmezett érték: 1000
schemaEvolutionMode

Típus: String

A séma új oszlopokként történő fejlesztési módjának felderítése az adatokban. Alapértelmezés szerint az oszlopok sztringekként lesznek kikövetkeztetve JSON-adathalmazok következtetésekor. További részletekért tekintse meg a sémafejlődést . Ez a beállítás nem vonatkozik a fájlokra és binaryFile a fájlokratext.

Alapértelmezett érték: "addNewColumns" ha nincs megadva séma.
"none" egyébként.
schemaLocation

Típus: String

A következtetett séma és az azt követő módosítások tárolásának helye. További részletekért lásd a sémakövetkeztetést . A séma helye nem szükséges, ha streamelési táblalekérdezésben használják.

Alapértelmezett érték: Nincs

Példák

-- 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);