Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a lap az adatok olvasására és írására szolgáló Spark API-khoz elérhető bemeneti és kimeneti beállításokat sorolja fel.
A DataFrameReader beállításai
Ezeket a beállításokat DataFrameReader.option(), DataFrameReader.options(), read_files, COPY INTO és Auto Loader használatával szabályozhatja, hogy Azure Databricks hogyan olvassa be az adatfájlokat.
Example
Az alábbi példa JSON-fájlok olvasására állítja be multiLineTrue a következőket:
Python
df = spark.read.format("json").option("multiLine", True).load("/path/to/data")
Scala
val df = spark.read.format("json").option("multiLine", "true").load("/path/to/data")
SQL
SELECT * FROM read_files("/path/to/data", format => "json", multiLine => true)
Közös
Az alábbi beállítások az összes fájlformátumra vonatkoznak.
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
ignoreCorruptFiles |
false |
true, false |
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. A COPY INTOkihagyott sérült fájlokat a Delta Lake-előzmények oszlopában numSkippedCorruptFiles látható módon operationMetrics figyelheti meg. A Databricks Runtime 11.3 LTS-ben és újabb verziókban érhető el. |
ignoredPathSegmentRegex |
^[._] |
Egy Java reguláris kifejezési sztring | Azt szabályozza, hogy mely fájlok és könyvtárak legyenek elrejtve a fájllista alatt. A regex minden egyes könyvtárhoz és fájlnévhez igazodik az éppen beolvasott elérési út alatt. A rendszer kihagyja az egyező neveket a fájllistában, a partíciófelderítésben és az olvasásban, az egyező könyvtárnév pedig kizárja a teljes altartományt. Az alapértelmezett beállítás ^[._] kihagyja azokat a neveket, amelyek a következővel _ kezdődnek: vagy .. Állítsa be üres sztringre a szűrő és a rejtett fájlok felületének letiltásához, beleértve a Spark belső jelölőfájljait, például _SUCCESS a fájlokat _temporary. Függetlenül a regextől, _metadata és _common_metadata a nevek mindig fel vannak sorolva, a rendszer mindig kihagyja a végződéseket ._COPYING_ , és _a - = prefixed partíciókönyvtárak mindig megmaradnak. Ellentétben pathGlobFiltera levélfájlnevekre alkalmazott belefoglalási stílussal, ez egy kizáró stílusú regex, amelyet minden elérési út összetevőre alkalmazunk, és a kettő kombinálható. Ezt a Spark-konfigurációval spark.sql.files.ignoredPathSegmentRegex is beállíthatja, és az adatforrás-beállítás elsőbbséget élvez, ha mindkettő be van állítva. A Databricks Runtime 19-ben és újabb verziókban érhető el. |
ignoreMissingFiles |
false az Automatikus betöltőhöz, true a következőhöz COPY INTO : (örökölt) |
true, false |
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 a rendszer továbbra is visszaadja a tartalmat. A Databricks Runtime 11.3 LTS-ben és újabb verziókban érhető el. |
modifiedAfter |
None | Időbélyeg-sztring | Nem kötelező időbélyeg szűrőként csak olyan fájlok betöltésére, amelyek a megadott időbélyeg után módosítási időbélyeget kaptak. |
modifiedBefore |
None | Időbélyeg-sztring | Nem kötelező időbélyeg szűrőként csak olyan fájlok betöltésére, amelyek módosítási időbélyeget kaptak a megadott időbélyeg előtt. |
pathGlobFilter vagy fileNamePattern |
None | Egy glob minta sztringje | Egy lehetséges glob minta a fájlok kiválasztásához. Az in PATTERN (örökölt) értéknek COPY INTO felel meg.
fileNamePattern használható a következőben read_files: . |
recursiveFileLookup |
false |
true, false |
Amikor trueez a beállítás beágyazott könyvtárakon keresztül keres, akkor is, ha a nevük nem követi a partíció elnevezési sémáját, például date=2019-07-01. |
Avro
Az Avro-fájlok olvasása során az alábbi beállítások érvényesek.
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
avroSchema |
None | Avro-sémasztring | A felhasználó által Avro formátumban megadott választható séma. Az Avro olvasása során ez a beállítás beállítható egy olyan kifejlett sémára, amely kompatibilis, de eltér a tényleges Avro-sémától. A deszerializálási séma összhangban van 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. |
avroSchemaEvolutionMode |
none |
none, restart |
Sémafejlődés kezelése sémaregisztrációs adatbázis használatakor.
none figyelmen kívül hagyja a séma módosításait, és folytatja a feladatot.
restart
UnknownFieldException a rendszer a sémamódosítások észlelésekor a feladat újraindítását igényli. |
datetimeRebaseMode |
LEGACY |
\ |
A julián és a proleptikus Gergely-naptárak közötti dátum és időbélyeg értékek újraalapozását szabályozza. |
enableStableIdentifiersForUnionType |
false |
true, false |
Stabil mezőnevek használata az Avro Union-típusokhoz. Ha engedélyezve van, az egyesítő típusú mezőnevek a kisbetűs típusnevükből származnak (például: member_int, member_string). Kivételt eredményez, ha két típusnév azonos az alsóbb műveletet követően. |
mergeSchema |
false |
true, false |
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 teszi rugalmasabbá az adattípusokat. |
mode |
FAILFAST |
\ |
Sérült rekordok kezelésére szolgáló elemzési mód. A FAILFAST kivételt dob.
PERMISSIVE a hibásan formázott mezőket null értékre állítja.
DROPMALFORMED csöndesen elveti a rossz rekordokat. |
readerCaseSensitive |
true |
true, false |
A nagybetű érzékenység viselkedését határozza meg, ha rescuedDataColumn engedélyezve van. Ha igaz, mentse azokat az adatoszlopokat, amelyeknek a neve esetenként eltér a sémától. Ha hamis, olvassa be az adatokat kis- és nagybetűkre érzéketlen módon. |
recursiveFieldMaxDepth |
None |
0 és 15 |
A rekurzív Avro-mezők maximális rekurziós mélysége. Állítsa be az 1 összes rekurzív mező csonkolására, 2 hogy lehetővé tegye a rekurzió egy szintjét, és így tovább 15. Ha a nem halmazolt vagy 0a rekurzív mezők nem engedélyezettek. |
rescuedDataColumn |
None | Oszlopnév-sztring | 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.COPY INTO (örökölt) nem támogatja a mentett adatoszlopot, mert nem állíthatja be manuálisan a sémát COPY INTOhasználatával. A Databricks az Automatikus betöltő használatát javasolja a legtöbb betöltési forgatókönyvhöz.További részletekért lásd: Mi a mentett adatoszlop?. |
stableIdentifierPrefixForUnionType |
member_ |
Bármilyen szöveg | A stabil egyesítő típusú mezőnevekhez használandó előtag, ha enableStableIdentifiersForUnionType=true. |
CSV
CSV-fájlok olvasásakor az alábbi beállítások érvényesek.
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
badRecordsPath |
None | Elérési út sztringje | A rossz CSV-rekordok adatainak rögzítésére szolgáló fájlok tárolásának elérési útja. |
charToEscapeQuoteEscaping |
\0 |
Egyetlen karakter | A karakter, amelyet a karakterek közül idézőjelek elkerülésére használnak. Például a következő rekordhoz: [ " a\\", b ]
|
columnNameOfCorruptRecord |
_corrupt_record |
Oszlopnév-sztring | Támogatja az automatikus betöltőt. A COPY INTO (örökölt) esetében nem támogatott.A hibásan formázott és nem elemezhető rekordok tárolására szolgáló oszlop. Ha az mode elemzéshez DROPMALFORMED értékre van állítva, ez az oszlop üres lesz. |
comment |
\0 |
Egyetlen karakter | Meghatározza azt a karaktert, amely egy sor megjegyzését jelöli, amikor egy szövegsor elején található. Használja a '\0'-t a megjegyzés kihagyásának letiltására. |
dateFormat |
yyyy-MM-dd |
Dátumformátum sztringje | Dátumsztringek elemzésének formátuma. |
emptyValue |
Üres sztring | Bármilyen szöveg | Az üres érték karakterláncokká való ábrázolása. |
enableDateTimeParsingFallback |
false |
true, false |
Vissza kell-e esnie az örökölt dátumra és időbélyeg-elemzési viselkedésre, ha egy érték nem elemezhető a megadott formátummal. Amikor falsea elemzési hibák hibát okoznak, vagy a függvénytől függően modenull értéket eredményeznek. |
encoding vagy charset |
UTF-8 |
Név java.nio.charset.Charset |
A CSV-fájlok kódolásának neve. A java.nio.charset.Charset alatt találja a lehetőségek listáját.
UTF-16 és UTF-32 nem használható, ha multiline van true. |
enforceSchema |
true |
true, false |
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. |
escape |
\ |
Egyetlen karakter | Az adatok elemzésekor használandó escape karakter. |
extension |
csv |
Fájlkiterjesztési sztring | Az olvasások várt fájlnévkiterjesztése. A bővítmény nélküli fájlok szűrve lesznek. |
failOnUnknownFields |
false |
true, false |
Sikertelenség, ha a CSV-rekord olyan oszlopokat tartalmaz, amely nem szerepel a sémában. Ha falsea nem felismert oszlopokat a rendszer csendben elveti vagy menti attól függően rescuedDataColumn, hogy melyik oszlopot menti. |
failOnWidenedFields |
false |
true, false |
Sikertelen-e, ha egy mezőérték nem elemezhető deklarált sématípusként szélesítés nélkül. Amikor falsea típusszűkített értékeket a rendszer csendesen menti a függvénytől függően rescuedDataColumn. A beállítás failOnUnknownFields=true elfedheti ennek a beállításnak a hatásait. |
header |
false |
true, false |
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. |
ignoreLeadingWhiteSpace |
false |
true, false |
Annak eldöntése, hogy figyelmen kívül hagyja-e az elemzett értékek elején lévő szóközöket. |
ignoreTrailingWhiteSpace |
false |
true, false |
Meghatározza, hogy figyelmen kívül hagyja-e az egyes parsolt értékek végén lévő szóközöket. |
inferSchema |
false |
true, false |
Az elemzett CSV-rekordok adattípusainak kikövetkeztetésére vagy annak feltételezésére, hogy az összes oszlop típusát StringType-nak tekintsük. Ha true be van állítva, újabb adatfeldolgozási lépés szükséges. Helyette az Auto Loaderhez használja cloudFiles.inferColumnTypes. |
inputBufferSize |
1048576 (1 MB) |
Pozitív egész számok | A CSV-elemző puffermérete bájtban. Nagy CSV-fájlok elemzésekor hasznos a memóriahasználat finomhangolásához. |
lineSep |
Nincs, amely magában foglalja \r, \r\nés \n |
Karakterlánc | Két egymást követő CSV-rekord közötti karakterlánc. |
locale |
US |
Azonosító java.util.Locale |
Egy Java területi beállítás, amely hatással van az alapértelmezett dátumra, időbélyegre és decimális elemzésre a CSV-ben. |
maxCharsPerColumn |
-1 |
Pozitív egész számok, vagy -1 korlátlan |
Az elemzésre várt érték maximális karakterhossza. A memóriahibák elkerülése érdekében használható. Alapértelmezett érték, -1ami azt jelenti, hogy korlátlan. |
maxColumns |
20480 |
Pozitív egész számok | Az a korlát, hogy egy rekord hány oszlopot tartalmazhat. |
mergeSchema |
false |
true, false |
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őnél a séma következtetésekor. |
mode |
PERMISSIVE |
\ |
Parszolási mód a hibásan formázott rekordok kezelésére. |
multiLine |
false |
true, false |
A CSV-rekordok kiterjednek-e több sorra. |
nanValue |
NaN |
Bármilyen szöveg | A nem számérték karakterlánc-ábrázolása a FloatType és DoubleType oszlopok elemzésekor. |
negativeInf |
-Inf |
Bármilyen szöveg | A negatív végtelen szöveges megjelenítése a FloatType vagy DoubleType oszlopok feldolgozásakor. |
nullValue |
Üres sztring | Bármilyen szöveg | A nulla érték szöveges ábrázolása. |
parserCaseSensitive (elavult) |
false |
true, false |
Fájlok olvasása közben, hogy az a fejlécben deklarált oszlopokat esetérzékenyen igazítsa-e össze a sémával. Ez alapértelmezés szerint az true Automatikus betöltő esetében van. Ha engedélyezve van, a betűméret szerint eltérő oszlopok mentésre kerülnek a rescuedDataColumn-ben. Ez a beállítás elavult, és helyette a readerCaseSensitive ajánlott. |
positiveInf |
Inf |
Bármilyen szöveg | A pozitív végtelen karakterlánc ábrázolása a FloatType vagy DoubleType oszlopok elemzésekor. |
preferDate |
true |
true, false |
A karakterláncokat időbélyeg helyett, amikor csak lehet, dátumként próbálja meg kikövetkeztetni. Sémakövetkeztetést is kell használnia az automatikus betöltő engedélyezésével inferSchema vagy használatával cloudFiles.inferColumnTypes . |
quote |
" |
Egyetlen karakter | Az olyan értékek elkerülésére használt karakter, ahol a mezőhatároló az érték része. |
readerCaseSensitive |
true |
true, false |
A nagybetű érzékenység viselkedését határozza meg, ha rescuedDataColumn engedélyezve van. Ha igaz, mentse azokat az adatoszlopokat, amelyeknek a neve esetenként eltér a sémától. Ha hamis, olvassa be az adatokat kis- és nagybetűkre érzéketlen módon. |
rescuedDataColumn |
None | Oszlopnév-sztring | 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?.COPY INTO (örökölt) nem támogatja a mentett adatoszlopot, mert nem állíthatja be manuálisan a sémát COPY INTOhasználatával. A Databricks az Automatikus betöltő használatát javasolja a legtöbb betöltési forgatókönyvhöz. |
sep vagy delimiter |
, |
Karakterlánc | Az elválasztó sztring oszlopok között. |
singleVariantColumn |
None | Oszlopnév-sztring | Ha oszlopnévre van állítva, a teljes CSV rekordot egyetlen VariantType oszlopba olvassa be ezzel a névvel ahelyett, hogy az egyes mezőket saját oszlopba elemezne. Szükséges header=true. |
skipRows |
0 |
Pozitív egész számok vagy 0 |
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 az első kihagyatlan és nem kommentelt sor lesz. |
timeFormat |
HH:mm:ss |
Időformátum-sztring | Az oszlopértékek TimeType elemzésének formátuma. |
timestampFormat |
yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] |
Időbélyeg formátum sztringje | Az időbélyeg-sztringek elemzésének formátuma. |
timestampNTZFormat |
yyyy-MM-dd'T'HH:mm:ss[.SSS] |
Időbélyeg formátum sztringje | Az időzónák (TimestampNTZType) sztringek nélküli időbélyeg elemzésének formátuma. |
timeZone |
None | Sztring java.time.ZoneId |
Az java.time.ZoneId időbélyegek és dátumok elemzésekor használandó. |
unescapedQuoteHandling |
STOP_AT_DELIMITER |
STOP_AT_CLOSING_QUOTE, BACK_TO_DELIMITER, STOP_AT_DELIMITER, SKIP_VALUERAISE_ERROR |
Az érvénytelen idézőjelek kezelésének stratégiája. Az egyes engedélyezett beállítások viselkedése a következő:
|
Excel
A következő beállítások Excel fájlok olvasásakor érvényesek.
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
dataAddress |
None | Cellatartomány vagy lapnévsztring | A Excel szintaxisban olvasható cellatartomány. Ha nincs megadva, az első lap összes érvényes celláját beolvassa. Egy névvel ellátott lap tartományának olvasására, SheetName!C5:H10 az első lap tartományának beolvasására vagy C5:H10 egy adott lap összes adatának beolvasására használhatóSheetName. |
headerRows |
0 |
0, 1 |
Oszlopnévfejlécként használandó kezdeti sorok száma. Ha dataAddress meg van adva, ez a cellatartományon belülre vonatkozik. Amikor 0a rendszer automatikusan létrehozza _c1az oszlopneveket , _c2stb _c3. |
ignoreMissingSheet |
false |
true, false |
Azt határozza meg, hogy kihagyja-e azokat a fájlokat, amelyek nem tartalmazzák a megadott dataAddresslapot. Amikor falsea rendszer hibát jelez, ha egy fájl hiányzik a kért lapról. Csak akkor érvényes, ha a lap neve meg van adva a fájlban dataAddress. |
includePhoneticRuns |
false |
true, false |
Az XLSX-fájlok olvasása során összefűzött fonetikai széljegyzetek (például pinyin vagy furigana) belefoglalása cellasztring-értékekbe. |
operation |
readSheet |
readSheet, listSheets |
A Excel munkafüzeten végrehajtandó művelet.
readSheet adatokat olvas be egy lapról.
listSheets egy szerkezetet ad vissza a mezőkkel sheetIndex: long és sheetName: String az egyes munkalapokhoz. |
timestampNTZFormat |
yyyy-MM-dd'T'HH:mm:ss[.SSS] |
Időbélyeg formátum sztringje | Egyéni formázási sztring a Excel sztringként tárolt időbélyeg nélküli értékekhez. Az egyéni dátumformátumok a Datetime-minták formátumait követik. |
dateFormat |
yyyy-MM-dd |
Dátumformátum sztringje | A sztringértékek egyéni formázási sztringje a következőképpen olvasható.Date Az egyéni dátumformátumok a Datetime-minták formátumait követik. |
JSON
JSON-fájlok olvasásakor az alábbi beállítások érvényesek.
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
allowBackslashEscapingAnyCharacter |
false |
true, false |
Engedélyezi-e, hogy a fordított perjelek elkerülési jelekként működjenek bármelyik őket követő karakter esetében? Ha nincs engedélyezve, csak azok a karakterek escape-elhetők, amelyeket a JSON-specifikáció kifejezetten felsorol. |
allowComments |
false |
true, false |
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. |
allowNonNumericNumbers |
true |
true, false |
Engedélyezze-e a nem szám (NaN) tokenek halmazát érvényes lebegőpontos számértékekként? |
allowNumericLeadingZeros |
false |
true, false |
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). |
allowSingleQuotes |
true |
true, false |
Engedélyezi-e az egyes idézőjelek (aposztróf, karakter '\') használatát szövegek (nevek és sztringértékek) idézéséhez. |
allowUnquotedControlChars |
false |
true, false |
Engedélyezi-e, hogy a JSON-sztringek kódolatlan vezérlőkaraktereket (32-nél kisebb értékű ASCII-karaktereket, beleértve a tabulátor- és sorvégi karaktereket) tartalmazzanak? |
allowUnquotedFieldNames |
false |
true, false |
Engedélyezi-e a JavaScript által engedélyezett, de a JSON-specifikációban nem szereplő, nem kvótált mezőnevek használatát. |
alternateVariantEncoding |
None | Z85 |
A variant értékekhez használt kódolás a forrás JSON-ban.
Z85 A Base85 kódolású Variant-értékek dekódolására van beállítva a beágyazott JSON-ként való tárolás helyett. |
badRecordsPath |
None | Elérési út sztringje | A rossz JSON-rekordok adatainak rögzítésére szolgáló fájlok tárolásának elérési útja. Fájlalapú adatforrásban a badRecordsPath opció használatának a következő korlátai vannak:
|
columnNameOfCorruptRecord |
_corrupt_record |
Oszlopnév-sztring | A hibásan formázott és nem elemezhető rekordok tárolására szolgáló oszlop. Ha az mode elemzéshez DROPMALFORMED értékre van állítva, ez az oszlop üres lesz. |
dateFormat |
yyyy-MM-dd |
Dátumformátum sztringje | Dátumsztringek elemzésének formátuma. |
dropFieldIfAllNull |
false |
true, false |
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. |
encoding vagy charset |
UTF-8 |
Név java.nio.charset.Charset |
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. |
inferTimestamp |
false |
true, false |
Hogy megpróbálja-e kitalálni az időbélyeg karaktersorok formátumát TimestampType. Ha be van trueállítva, a sémakövetkeztetés jelentősen tovább tarthat. Az automatikus betöltő használatához engedélyeznie kell a cloudFiles.inferColumnTypes-t. |
lineSep |
Nincs, amely magában foglalja \r, \r\nés \n |
Karakterlánc | Két egymást követő JSON-rekord közötti karakterlánc. |
locale |
US |
Azonosító java.util.Locale |
Egy Java területi azonosító, amely befolyásolja az alapértelmezett dátumot, időbélyeget és decimális elemzést a JSON-ban. |
maxNestingDepth |
500 |
Pozitív egész számok | A JSON-objektumok és -tömbök maximális beágyazási mélysége. Növelje ezt az értéket a mélyen beágyazott dokumentumok esetében. |
maxNumLen |
1000 |
Pozitív egész számok | A számjogkivonatok maximális hossza a JSON-bemenetben. Növelje ezt az értéket A JSON értékének növelése nagy numerikus literálokkal. |
maxStringLen |
Korlátlan | Pozitív egész számok | A JSON-bemenet sztringértékeinek maximális hossza. Állítsa be a memóriahasználat korlátozását a JSON nagy sztringekkel való elemzésekor. |
mode |
PERMISSIVE |
\ |
Parszolási mód a hibásan formázott rekordok kezelésére. |
multiLine |
false |
true, false |
Azt jelzi, hogy a JSON-rekordok több sorra is kiterjednek-e. |
prefersDecimal |
false |
true, false |
Amikor lehetséges, megpróbálja a karakterláncokat lebegőpontos vagy double típus helyett kikövetkeztetni DecimalType formában. Sémakövetkeztetést is kell használnia az automatikus betöltő engedélyezésével inferSchema vagy használatával cloudFiles.inferColumnTypes . |
primitivesAsString |
false |
true, false |
Meg kell-e határozni az olyan primitív típusokat, mint a számok és logikai értékek, mint StringType. |
readerCaseSensitive |
true |
true, false |
A nagybetű érzékenység viselkedését határozza meg, ha rescuedDataColumn engedélyezve van. Ha igaz, mentse azokat az adatoszlopokat, amelyeknek a neve esetenként eltér a sémától. Ha hamis, olvassa be az adatokat kis- és nagybetűkre érzéketlen módon. A Databricks Runtime 13.3-ban és újabb verziókban érhető el. |
rescuedDataColumn |
None | Oszlopnév-sztring | 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?.COPY INTO (örökölt) nem támogatja a mentett adatoszlopot, mert nem állíthatja be manuálisan a sémát COPY INTOhasználatával. A Databricks az Automatikus betöltő használatát javasolja a legtöbb betöltési forgatókönyvhöz. |
singleVariantColumn |
None | Oszlopnév-sztring | Ha oszlopnévre van állítva, a teljes JSON-rekordot egyetlen VARIANT oszlopként fogja be a megadott névvel, ahelyett, hogy minden mezőt a saját oszlopába elemezne. A céltáblának tartalmaznia kell egy VARIANT típusú oszlopot ezzel a névvel. |
timestampFormat |
yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] |
Időbélyeg formátum sztringje | Az időbélyeg-sztringek elemzésének formátuma. |
timestampNTZFormat |
yyyy-MM-dd'T'HH:mm:ss[.SSS] |
Időbélyeg formátum sztringje | Az időzónák (TimestampNTZType) sztringek nélküli időbélyeg elemzésének formátuma. |
timeZone |
None | Sztring java.time.ZoneId |
Az java.time.ZoneId időbélyegek és dátumok elemzésekor használandó. |
upgradeExceptionAsBadRecord |
false |
true, false |
Azt, hogy a típusfrissítési kivételeket (például ha egy értéket nem lehet a deklarált oszloptípusra szélesíteni) rossz rekordként kell-e kezelni ahelyett, hogy kivételt eredményezne. |
Kafka
A Kafka-olvasó beállításainak teljes listáját a DataStreamReader Kafka beállításai között találja. Az alábbi beállítások csak a kötegolvasásokra vonatkoznak spark.read.format("kafka").
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
endingOffsets |
latest |
latest, vagy JSON eltolási sztring |
Hol hagyja abba az olvasást. A JSON-sztringben -1 a legújabb eltolás.
-2, amely a legkorábbi eltolás, nem engedélyezett záró eltolásként. Ez egy példa JSON eltolási sztringre: {"topicA":{"0":50,"1":-1}}. |
endingOffsetsByTimestamp |
None | JSON-időbélyeg-sztring | Ezredmásodpercben időbélyegként megadott partícióvégző eltolások. Például: {"topicA":{"0":2000,"1":3000}}. |
endingTimestamp |
None | Pozitív egész számok vagy 0 |
Az összes partícióra alkalmazott globális befejezési időbélyeg ezredmásodpercben. |
ORK
Az ORC-fájlok olvasása során az alábbi beállítások érvényesek.
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
mergeSchema |
false |
true, false |
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. |
Parketta
Parquet-fájlok olvasásakor az alábbi beállítások érvényesek.
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
datetimeRebaseMode |
LEGACY |
\ |
A julián és a proleptikus Gergely-naptárak közötti dátum és időbélyeg értékek újraalapozását szabályozza. |
int96RebaseMode |
LEGACY |
\ |
Az INT96 időbélyeg értékeinek korrekcióját szabályozza a Julián és a Proleptikus Gergely-naptárak között. |
mergeSchema |
false |
true, false |
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. |
readerCaseSensitive |
true |
true, false |
A nagybetű érzékenység viselkedését határozza meg, ha rescuedDataColumn engedélyezve van. Ha igaz, mentse azokat az adatoszlopokat, amelyeknek a neve esetenként eltér a sémától. Ha hamis, olvassa be az adatokat kis- és nagybetűkre érzéketlen módon. |
rescuedDataColumn |
None | Oszlopnév-sztring | 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?.COPY INTO (örökölt) nem támogatja a mentett adatoszlopot, mert nem állíthatja be manuálisan a sémát COPY INTOhasználatával. A Databricks az Automatikus betöltő használatát javasolja a legtöbb betöltési forgatókönyvhöz. |
Állapottároló
A strukturált streamelési állapot adatainak olvasásához használja ezeket a beállításokat spark.read.format("statestore") vagy a read_statestore táblaértékű függvényt. Lásd: Strukturált streamelési állapotinformációk olvasása.
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
batchId |
Legújabb kötegazonosító | Pozitív egész számok vagy 0 |
A cél köteg, amelyből olvasni szeretne. A lekérdezés egy korábbi állapotának lekérdezésére használható. A tételt véglegesíteni kell, de még nem szabad megtisztítani. |
operatorId |
0 |
Pozitív egész számok vagy 0 |
A cél operátor, amelyből olvasni szeretne. Akkor használható, ha a lekérdezés több állapotalapú operátort is használ. |
storeName |
DEFAULT |
Bármilyen szöveg | A célállapot-tároló neve, amelyből olvasni szeretne. Akkor használható, ha az állapotalapú operátor több állapottároló-példányt is használ. Meg kell adnia a storeNamejoinSide stream-stream illesztéseket, de mindkettőt nem. |
joinSide |
None |
left, right |
A stream-stream illesztéshez beolvasandó céloldal. Meg kell adnia a storeNamejoinSide stream-stream illesztéseket, de mindkettőt nem. |
snapshotStartBatchId |
None | Pozitív egész számok vagy 0 |
A pillanatkép kötegelt azonosítója, amelyet kiindulási pontként használ az olvasási állapotban. Az olvasó újraépíti az állapotot a pillanatkép módosításainak ismétlésével.batchId Akkor hasznos, ha egy pillanatkép sérült. Meg kell adnia együtt a snapshotPartitionId. Nem használható a következővel readChangeFeed: . Támogatja a HDFS által támogatott állapottárolót és a RocksDB állapottárolót a változásnapló-ellenőrzőpontok engedélyezésével. A Databricks Runtime 15.4 LTS-ben és újabb verziókban érhető el. |
snapshotPartitionId |
None | Pozitív egész számok vagy 0 |
Ha meg van adva, a lekérdezés csak ezt a partíciót olvassa be. Meg kell adnia együtt a snapshotStartBatchId. Nem használható a következővel readChangeFeed: . A Databricks Runtime 15.4 LTS-ben és újabb verziókban érhető el. |
readChangeFeed |
false |
true, false |
Amikor truea rendszer állapotváltozásokat ad vissza a kötegek changeStartBatchId megadott tartományán belül.changeEndBatchId Szükséges changeStartBatchId. Nem használható a következővel joinSide: , batchId, snapshotStartBatchIdvagy snapshotPartitionId. A Databricks Runtime 16.4 LTS-ben és újabb verziókban érhető el.További részletekért lásd: Strukturált streamelési állapot változásainak olvasása. |
changeStartBatchId |
None | Pozitív egész számok vagy 0 |
A változáscsatorna-tartomány kezdő kötegazonosítója. Kötelező, ha readChangeFeed van true. Csak akkor érvényes, ha readChangeFeed be van állítva.true A Databricks Runtime 16.4 LTS-ben és újabb verziókban érhető el. |
changeEndBatchId |
Legújabb kötegazonosító | Pozitív egész számok vagy 0 |
A változáscsatornatartomány záró kötegazonosítója. Nagyobbnak vagy egyenlőnek changeStartBatchIdkell lennie. Csak akkor érvényes, ha readChangeFeed be van állítva.true A Databricks Runtime 16.4 LTS-ben és újabb verziókban érhető el. |
stateVarName |
None | Bármilyen szöveg | Az olvasni kívánt állapotváltozó neve. Az állapotváltozó neve az egyes változók egyedi neve az init operátor által StatefulProcessor használt függvényen transformWithState belül. Az operátor használata transformWithState esetén kötelező. A Databricks Runtime 16.4 LTS-ben és újabb verziókban érhető el. |
readRegisteredTimers |
false |
true, false |
Amikor truea rendszer beolvassa az operátor által transformWithState használt regisztrált időzítőket. Csak az transformWithState operátorra vonatkozik. A Databricks Runtime 16.4 LTS-ben és újabb verziókban érhető el. |
flattenCollectionTypes |
true |
true, false |
Amikor truea rendszer simítja a leképezési és listázási állapotváltozókhoz visszaadott rekordokat. Amikor falsea rekordokat Spark SQL-ként Array vagy Map. Csak az transformWithState operátorra vonatkozik. A Databricks Runtime 16.4 LTS-ben és újabb verziókban érhető el. |
Szöveg
Szövegfájlok olvasásakor az alábbi beállítások érvényesek.
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
encoding |
UTF-8 |
Név java.nio.charset.Charset |
A SZÖVEG fájlsorelválasztó kódolásának neve. Ez a beállítás nem befolyásolja a fájl tartalmát, és a tartalom as-ispontnál kerül beolvasásra. |
lineSep |
Nincs, amely kiterjed \r, \r\n és \n |
Karakterlánc | Két egymást követő TEXT rekord közötti string. |
wholeText |
false |
true, false |
Azt dönteni, hogy a fájlt egyetlen rekordként olvassuk-e be. |
XML
Xml-fájlok olvasásakor az alábbi beállítások érvényesek.
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
rowTag |
None | Bármilyen szöveg | A sorként kezelendő XML-fájlok sorcímkéje. A példa XML-fájljában a <book> <page><page>...<book> megfelelő értéke a page. Ez egy kötelező beállítás. |
samplingRatio |
1.0 |
0.0 és 1.0 |
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. |
excludeAttribute |
false |
true, false |
Az elemek attribútumainak kizárása. |
mode |
None | \ |
A sérült rekordok elemzés közbeni kezelésére szolgáló mód.
|
inferSchema |
true |
true, false |
Ha true, megpróbál egy megfelelő típust kikövetkeztetni minden eredményként kapott DataFrame-oszlophoz. Ha false, az összes eredményoszlop string típusú lesz. Az XML beépített függvényei figyelmen kívül hagyják ezt a beállítást. |
columnNameOfCorruptRecord |
spark.sql.columnNameOfCorruptRecord |
Oszlopnév-sztring | Lehetővé teszi az új mező átnevezését, amely a mód által PERMISSIVE létrehozott hibásan formázott sztringet tartalmazza. |
attributePrefix |
None | Bármilyen szöveg | 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 érték _. Az XML olvasásához üres lehet, íráshoz azonban nem. A DataFrameWriter XML-beállításaira is vonatkozik. |
valueTag |
_VALUE |
Bármilyen szöveg | 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. A DataFrameWriter XML-beállításaira is vonatkozik. |
encoding |
UTF-8 |
Név java.nio.charset.Charset |
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. A DataFrameWriter XML-beállításaira is vonatkozik. |
ignoreSurroundingSpaces |
true |
true, false |
Ki kell-e hagyni az értékeket körülvevő fehér szóközöket. A rendszer figyelmen kívül hagyja azokat az adatokat, amelyek csak üres helyet tartalmaznak. |
rowValidationXSDPath |
None | Fájlútvonal-sztring | 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. Az XSD egyébként nincs hatással a sémára, függetlenül attól, hogy meg van-e adva vagy kikövetkeztetve. |
ignoreNamespace |
false |
true, false |
Ha truea névterek XML-elemeken és attribútumokon lévő előtagjai figyelmen kívül lesznek hagyva. A <abc:author> és <def:author> címkéket például úgy kezeli a rendszer, mintha mindkettő csak <author> lenne. A névterek nem hagyhatók figyelmen kívül az rowTag elemen, csak az olvasható elemei esetén. Az XML-elemzés akkor sem névtérérzékeny, ha false. |
timestampFormat |
yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] |
Időbélyeg formátum sztringje | Egyéni időbélyegzés formátuma, amely követi a datetime mintát. Ez timestamp típusra vonatkozik. A DataFrameWriter XML-beállításaira is vonatkozik. |
timestampNTZFormat |
yyyy-MM-dd'T'HH:mm:ss[.SSS] |
Időbélyeg formátum sztringje | Az időzóna nélküli időbélyeg egyéni formátum-karakterlánca, amely a dátum/idő mintázati formátumot követi. Ez a TimestampNTZType típusra vonatkozik. A DataFrameWriter XML-beállításaira is vonatkozik. |
dateFormat |
yyyy-MM-dd |
Dátumformátum sztringje | Az datetime mintaformátumot követő egyéni dátumformátum-karakterlánc. Ez a dátumtípusra vonatkozik. A DataFrameWriter XML-beállításaira is vonatkozik. |
locale |
en-US |
IETF BCP 47 nyelvi címke | Egy helyi beállítást nyelvi címkeként állít be az IETF BCP 47 formátumban. Például locale a dátumok és időbélyegek elemzésekor használatos. |
nullValue |
húr null |
Bármilyen szöveg | A null érték karakterlánc ábrázolását állítja be. Ebben az esetben nullaz elemző nem ír attribútumokat és elemeket a mezőkhöz. A DataFrameWriter XML-beállításaira is vonatkozik. |
readerCaseSensitive |
true |
true, false |
Meghatározza a kis- és nagybetű érzékenységének viselkedését, ha a rescuedDataColumn engedélyezve van. Ha igaz, mentse azokat az adatoszlopokat, amelyeknek a neve esetenként eltér a sémától. Ha hamis, olvassa be az adatokat kis- és nagybetűkre érzéketlen módon. |
rescuedDataColumn |
None | Oszlopnév-sztring | 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?.
COPY INTO (örökölt) nem támogatja a mentett adatoszlopot, mert nem állíthatja be manuálisan a sémát COPY INTOhasználatával. A Databricks az Automatikus betöltő használatát javasolja a legtöbb betöltési forgatókönyvhöz. |
singleVariantColumn |
none |
Oszlopnév-sztring | Egyetlen változatú oszlop nevét adja meg. Ha ez a beállítás be van adva az olvasáshoz, a teljes XML-rekordot elemezze egyetlen Variant oszlopba az oszlop neveként megadott beállítási sztringértékkel. Ha ez a beállítás meg van adva íráshoz, írja be az egyetlen Variant oszlop értékét XML-fájlokba. A DataFrameWriter XML-beállításaira is vonatkozik. |
useLegacyXMLParser |
true |
true, false |
Az örökölt XML-elemző használata. Az örökölt elemző kevésbé szigorú ellenőrzéssel rendelkezik a hibásan formázott tartalmak esetében, de kevésbé memória-hatékony. Állítsa be a false szigorúbb alapértelmezett elemző használatát. |
wildcardColName |
xs_any |
Oszlopnév-sztring | A helyettesítő karakter (xs:any) sémaelemnek megfelelő XML-elemek rögzítéséhez használt oszlopnév. Nem használható együtt a következővel rescuedDataColumn: . |
A DataStreamReader beállításai
Ezekkel a beállításokkal DataStreamReader.option() konfigurálhatja a Delta Lake-táblákból és más fájlalapú forrásokból származó streamelési olvasásokat.
A fájlformátum beállításairól (JSON, CSV, Parquet és egyebek) lásd a DataFrameReader beállításait.
Az Automatikus betöltő (cloudFiles.*) beállításaiért lásd: Automatikus betöltő.
Example
Az alábbi példa egy Delta Lake-táblastreamre állítja be maxFilesPerTrigger10 a következőt:
Python
df = spark.readStream.format("delta").option("maxFilesPerTrigger", 10).load("/path/to/delta-table")
Scala
val df = spark.readStream.format("delta").option("maxFilesPerTrigger", "10").load("/path/to/delta-table")
Közös
Az alábbi lehetőségek a Delta Lake-táblákra és más fájlalapú streamelési forrásokra vonatkoznak.
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
cleanSource |
off |
\ |
Forrásfájlok kezelése a stream feldolgozása után.
off nem hajt végre műveletet.
delete véglegesen törli a forrásfájlt.
archive áthelyezi a fájlt a következőre sourceArchiveDir: . Ha be van archiveállítva, sourceArchiveDir akkor is be kell állítani. Nem vonatkozik a Delta Lake-táblastreamelésre. |
fileNameOnly |
false |
true, false |
Azt, hogy a már feldolgozott fájlokat csak fájlnév alapján, nem pedig teljes elérési út alapján kell-e azonosítani. Amikor trueaz azonos fájlnévvel rendelkező különböző elérési utakon lévő fájlokat a rendszer ugyanazzal a fájllal kezeli, és nem dolgozza fel újra. Nem vonatkozik a Delta Lake-táblastreamelésre. |
latestFirst |
false |
true, false |
A legutóbb módosított fájlok feldolgozása az egyes mikrokötegekben először. Akkor hasznos, ha a lehető leggyorsabban szeretné feldolgozni a legújabb adatokat. Amikor true és maxFilesPerTriggermaxBytesPerTrigger be van állítva, maxFileAge a rendszer figyelmen kívül hagyja. Nem vonatkozik a Delta Lake-táblastreamelésre. |
maxBytesPerTrigger |
None | Pozitív egész számok | Az egyes mikro kötegekhez feldolgozott adatok maximális száma. Ha a legkisebb bemeneti egység túllépi a korlátot, a kötegek feldolgozhatják a korlátot. Ha együtt maxFilesPerTriggerhasználják, a mikroköteg addig dolgozza fel az adatokat, amíg el nem éri a korlátot.Helyette az Auto Loaderhez használja cloudFiles.maxBytesPerTrigger. Lásd: Gyakori. |
maxCachedFiles |
10000 |
Pozitív egész számok vagy 0 |
A további mikro kötegekhez gyorsítótárazandó feldolgozatlan fájlok maximális száma. Állítsa be a 0 gyorsítótárazás kikapcsolására. Növelje ezt az értéket, ha a forráskönyvtár sok új fájlt tartalmaz minden eseményindítóhoz. Nem vonatkozik a Delta Lake-táblastreamelésre. |
maxFileAge |
7d |
Időtartam-sztring, például 7d vagy 4h |
A feldolgozásra szánt fájlok maximális kora a legutóbb módosított fájl időbélyegéhez viszonyítva, nem pedig a jelenlegi rendszeridőhöz képest. Az ennél a küszöbértéknél régebbi fájlok figyelmen kívül lesznek hagyva. Figyelmen kívül hagyja, ha latestFirst van true , és maxFilesPerTriggermaxBytesPerTrigger be van állítva. Nem vonatkozik a Delta Lake-táblastreamelésre. |
maxFilesPerTrigger |
1000 a Delta Lake és az Auto Loader esetében. Más fájlalapú források esetében nincs maximális érték. |
Pozitív egész számok | Az egyes mikro kötegekben feldolgozott új fájlok számának felső határa. Ha együtt maxBytesPerTriggerhasználják, a mikroköteg addig dolgozza fel az adatokat, amíg el nem éri a korlátot.Helyette az Auto Loaderhez használja cloudFiles.maxFilesPerTrigger. Lásd: Gyakori. |
sourceArchiveDir |
None | Elérési út sztringje | Az archív könyvtár elérési útja, ha cleanSource be van állítva archive. A forrásfájlok a feldolgozás után ebbe az útvonalba kerülnek, megőrizve a relatív könyvtárszerkezetüket. Nem vonatkozik a Delta Lake-táblastreamelésre. |
Automatikus betöltő
Ezekkel a beállításokkal a forrással konfigurálhatja az cloudFilesAutomatikus betöltőt a felhőbeli tárolóból történő streamelési betöltéshez. A forrásra cloudFiles vonatkozó beállítások előtaggal cloudFiles vannak elosztva, hogy azokat más strukturált streamelési forrásbeállításoktól eltérő névtérben tarthassa.
Közös
Az alábbi beállítások az összes automatikus betöltő konfigurációra vonatkoznak.
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
cloudFiles.allowOverwrites |
false |
true, false |
Engedélyezi-e, hogy a bemeneti könyvtár fájlmódosításai felülírják a meglévő adatokat. A konfigurációs figyelmeztetésekért lásd: Újrafeldolgozza az Auto Loader a fájlt, amikor a fájlt hozzáfűzik vagy felülírják?. |
cloudFiles.backfillInterval |
None | Időtartam-sztring, például 1 day vagy 1 week |
Az automatikus betöltő képes aszinkron visszatöltéseket aktiválni egy adott időközönként. További információért lásd: rendszeres utántöltések indítása a cloudFiles.backfillInterval használatával. Ne használja, ha cloudFiles.useManagedFileEvents be van állítva.true |
cloudFiles.cleanSource |
OFF |
\ |
A feldolgozott fájlok automatikus törlése vagy áthelyezése a bemeneti könyvtárból. Ha az alapértelmezett értékre van OFF állítva, a rendszer nem töröl fájlokat.Ha be van állítva, az DELETEAutomatikus betöltő a feldolgozás után 30 nappal automatikusan törli a fájlokat. Ehhez az automatikus betöltőnek írási engedélyekkel kell rendelkeznie a forráskönyvtárhoz.Ha be van állítva, az MOVEAutomatikus betöltő automatikusan áthelyezi a fájlokat a megadott helyre cloudFiles.cleanSource.moveDestination a feldolgozást követő 30 napon belül. Ehhez az Auto Loader-nek írási engedélyekkel kell rendelkeznie a forrásmappára és az áthelyezési célhelyre.A fájl akkor tekinthető feldolgozottnak, ha a táblaértékfüggvény eredménye commit_time nem null cloud_files_state értékű. Lásd cloud_files_state táblaértékelt függvény. A feldolgozás utáni 30 napos további várakozás konfigurálható a használatával cloudFiles.cleanSource.retentionDuration.Az engedélyezés előtt tekintse át a következő szempontokat cloudFiles.cleanSource:
A Databricks Runtime 16.4-ben és újabb verziókban érhető el. |
cloudFiles.cleanSource.retentionDuration |
30 days |
CalendarInterval sztring, például 14 days: , 2 weeksvagy1 month |
Mennyi időt kell várni, amíg a feldolgozott fájlok archiválásra kerülnek a következővel cleanSource: . A DELETE esetében 7 napnál hosszabbnak kell lennie. Nincs minimális korlátozás a következőre MOVE: .A Databricks Runtime 16.4-ben és újabb verziókban érhető el. |
cloudFiles.cleanSource.moveDestination |
None | Felhőbeli tároló vagy Unity Catalog-kötet elérési útja | A feldolgozott fájlok archiválási útvonala, ahová kerülnek, ha a cloudFiles.cleanSource beállítva van MOVE értékre. Ez lehet egy felhőalapú tárolási útvonal vagy egy Unity-katalógus kötetútvonala (például /Volumes/my_catalog/my_schema/my_volume/archive/).Az áthelyezési helynek a következőnek kell lennie:
Az automatikus betöltőnek írási engedélyekkel kell rendelkeznie ehhez a könyvtárhoz. A Databricks Runtime 16.4-ben és újabb verziókban érhető el. |
cloudFiles.format |
Nincs (kötelező beállítás) |
avro, binaryFile, csv, jsonorc, parquet, textxml |
Az adatfájl formátuma a forrásútvonalon. Az érvényes értékek a következők:
|
cloudFiles.includeExistingFiles |
true |
true, false |
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. |
cloudFiles.inferColumnTypes |
false |
true, false |
Pontos oszloptípusok következtetése a sémakövetkeztetés használatakor. Alapértelmezés szerint az oszlopok sztringekként lesznek kikövetkeztetve A JSON- és CSV-adathalmazok következtetésekor. További részletekért lásd a sémakövetkeztetést . |
cloudFiles.maxBytesPerTrigger |
None | Bájtsztring, például 10g |
Az összes eseményindítóban feldolgozandó új bájtok maximális száma. Ez egy lágy maximum. Ha mindegyik fájl 3 GB, Azure Databricks 12 GB-ot dolgoz fel egy mikro kötegben. Az egyes fájlok soha nem lesznek felosztva mikrokötegek között; mindig teljes egészében dolgozzák fel egyetlenen belül, még akkor is, ha mérete meghaladja ezt a korlátot. Ha az cloudFiles.maxFilesPerTrigger együtt használják, az Azure Databricks az cloudFiles.maxFilesPerTrigger vagy cloudFiles.maxBytesPerTrigger közül legfeljebb az alsó határt éri el, attól függően, hogy melyiket éri el először. Ez a beállítás nincs hatással, ha a Trigger.Once() opcióval együtt használják (Trigger.Once() elavult).A Databricks Runtime 18.0-s vagy újabb verziója esetén ez a beállítás dinamikusan van konfigurálva, és nem kell manuálisan beállítani. |
cloudFiles.maxFileAge |
None | Időtartam-sztring | Meddig követhető nyomon egy fájlesemény deduplikációs célokból. A Databricks nem javasolja a paraméter finomhangolását, kivéve, ha óránként több millió fájl sorrendjében betölt adatokat. További részletekért tekintse meg a Fájlesemények nyomon követéséről szóló szakaszt. A túl agresszív hangolás cloudFiles.maxFileAge adatminőségi problémákat, például duplikált betöltést vagy hiányzó fájlokat okozhat. Ezért a Databricks egy konzervatív beállítást cloudFiles.maxFileAgejavasol , például 90 napig, ami hasonló ahhoz, amit az összehasonlítható adatbetöltési megoldások javasolnak. |
cloudFiles.maxFilesPerTrigger |
1000 |
Pozitív egész számok | Az összes eseményindítóban feldolgozandó új fájlok maximális száma. Ha az cloudFiles.maxBytesPerTrigger együtt használják, az Azure Databricks az cloudFiles.maxFilesPerTrigger vagy cloudFiles.maxBytesPerTrigger közül legfeljebb az alsó határt éri el, attól függően, hogy melyiket éri el először. Ennek a beállításnak nincs hatása, amikor az Trigger.Once() (elavult) használatával alkalmazzák.A Databricks Runtime 18.0-s vagy újabb verziója esetén ez a beállítás dinamikusan van konfigurálva, és nem kell manuálisan beállítani. |
cloudFiles.partitionColumns |
None | Oszlopnevek vesszővel tagolt listája | 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, amelyeket egyenlőségjelek, például <base-path>/a=x/b=1/c=y/file.format. Ebben a példában a partícióoszlopok a, bés c. 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 használt 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.csvSpecifying cloudFiles.partitionColumns mint year,month,day, visszaadja year=2022 a file1.csv számára, de a month és day oszlopok null.A month és day számára file2.csv és file3.csv megfelelően vannak elemezve. |
cloudFiles.schemaEvolutionMode |
addNewColumns ha nincs megadva séma, none ellenkező esetben |
addNewColumns, none, rescuefailOnNewColumns |
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 . |
cloudFiles.schemaHints |
None | Sémasztring | 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 . |
cloudFiles.schemaLocation |
Nincs (a séma következtetéséhez szükséges) | Elérési út sztringje | 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 . |
cloudFiles.useStrictGlobber |
false |
true, false |
Annak eldöntése, hogy használják-e a szigorú globbert, ami 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. |
cloudFiles.validateOptions |
true |
true, false |
Annak eldöntése, hogy érvényesüljenek-e az automatikus betöltő beállításai, és adjanak-e hibát ismeretlen vagy inkonzisztens beállítások esetén. |
Könyvtárlista
A címtár-lista mód használatakor a következő beállítás érvényes.
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
cloudFiles.useIncrementalListing (elavult) |
auto a Databricks Runtime 17.2-ben és alatta, false a Databricks Runtime 17.3-on és újabb verziókban |
\ |
Ez a funkció már elavult. A Databricks azt javasolja, hogy a fájlértesítési módot fájleseményekkel használja a cloudFiles.useIncrementalListing helyett.A könyvtárlista módban lehetőség van a teljes lista helyett a növekményes lista használatára. Az Automatikus betöltő alapértelmezés szerint mindent megtesz annak érdekében, hogy automatikusan észlelje, hogy egy adott könyvtár alkalmazható-e a növekményes listaelemre. Kifejezetten használhatja a növekményes listázást vagy a teljes könyvtárlistázást azáltal, hogy azokat ennek megfelelően true vagy false értékre állítja be.Ha helytelenül engedélyezi a növekményes listaelemeket egy nem lexikálisan rendezett könyvtárban, az megakadályozza, hogy az automatikus betöltő új fájlokat derítsen fel. Az Azure Data Lake Storage ( abfss://), az S3 (s3://) és a GCS (gs://) használatával működik.A Databricks Runtime 9.1 LTS-ben és újabb verziókban érhető el. |
Fájlértesítés
A fájlértesítési mód konfigurálásával kapcsolatos információkért, beleértve a szükséges felhőbeli engedélyeket, a beállítási utasításokat és a hitelesítési módszereket, olvassa el az Automatikus betöltő streamek konfigurálása fájlértesítési módban című témakört.
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
cloudFiles.fetchParallelism |
1 |
Pozitív egész számok | Az üzenetsor-kezelő szolgáltatásból érkező üzenetek lekéréséhez használandó szálak száma. Ne használja, ha cloudFiles.useManagedFileEvents be van állítva.true |
cloudFiles.pathRewrites |
None | JSON-leképezési sztring | Csak akkor szükséges, ha olyan beállítást ad meg queueUrl , amely több S3-gyűjtőtől fogad fájlértesítéseket, és a tárolókban lévő adatok eléréséhez konfigurált csatlakoztatási pontokat szeretné használni. Ezzel a beállítással az elérési út bucket/key előtagját újraírhatja a csatolási ponttal. Csak az előtagok írhatók újra. A konfiguráció {"<databricks-mounted-bucket>/path": "dbfs:/mnt/data-warehouse"}esetében például az elérési út s3://<databricks-mounted-bucket>/path/2017/08/fileA.json újra lesz írva dbfs:/mnt/data-warehouse/2017/08/fileA.json.Ne használja, ha cloudFiles.useManagedFileEvents be van állítva.true |
cloudFiles.resourceTag |
None | Kulcs-érték címke sztringjei | Kulcs-érték címkepárok sorozata a kapcsolódó erőforrások társításához és azonosításához, például:cloudFiles.option("cloudFiles.resourceTag.myFirstKey", "myFirstValue") .option("cloudFiles.resourceTag.mySecondKey", "mySecondValue")Ne használja, ha cloudFiles.useManagedFileEvents be van állítva.true Ehelyett állítsa be az erőforráscímkéket a felhőszolgáltató konzoljával.További információ: Felhőszolgáltatói erőforráscímkék. |
cloudFiles.useManagedFileEvents |
false |
true, false |
Ha az true beállítás használatban van, az Automatikus betöltő a fájlesemény-szolgáltatást használja a külső helyszínen található fájlok felderítésére. Ezt a lehetőséget csak akkor használhatja, ha a betöltési útvonal olyan külső helyen található, ahol engedélyezve van a fájlesemények használata. Lásd: Fájlértesítési mód használata fájleseményekkel.A fájlesemények értesítések szintű teljesítményt nyújtanak a fájlfelderítésben, mivel az automatikus betöltő az utolsó futtatás után új fájlokat fedezhet fel. A címtárlistától eltérően ennek a folyamatnak nem kell felsorolnia a címtárban lévő összes fájlt. Vannak olyan helyzetek, amikor az Automatikus betöltő címtárlistát használ annak ellenére, hogy a fájlesemények beállítás engedélyezve van:
Lásd : Mikor használja az automatikus betöltő a fájleseményeket tartalmazó címtárlistát? című témakört azokról a helyzetekről, amikor az Automatikus betöltő ezzel a beállítással címtárlistát használ. A Databricks Runtime 14.3 LTS-ben és újabb verziókban érhető el. |
cloudFiles.listOnStart |
false |
true, false |
Ha be van állítva, az trueAutomatikus betöltő teljes könyvtárlistát hajt végre a stream indításakor, ahelyett, hogy a folytatási jogkivonattal kezdené az ellenőrzőpontot. Ezzel a beállítással helyreállíthatja a hibákat, például CF_MANAGED_FILE_EVENTS_INVALID_CONTINUATION_TOKEN. Lásd : Hogyan lehet helyreállítani a CF_MANAGED_FILE_EVENTS_INVALID_CONTINUATION_TOKEN hibát?. |
cloudFiles.useNotifications |
false |
true, false |
Azt határozza meg, hogy a fájlértesítési mód használatával állapítsa meg, hogy vannak-e új fájlok. Ha false, használja a könyvtár listázási módot. Lásd : Az automatikus betöltőfájl-észlelési módok összehasonlítása.Ne használja, ha cloudFiles.useManagedFileEvents be van állítva.true |
Felhőszolgáltatói erőforráscímkék
Az Automatikus betöltő alapértelmezés szerint a következő kulcs-érték címkepárokat adja hozzá a legjobb munkamennyiség alapján:
-
vendor:Databricks -
path: Az adatok betöltésének helye. Címkézési korlátozások miatt nem érhető el a GCP-ben. -
checkpointLocation: A stream ellenőrzőpontjának helye. Címkézési korlátozások miatt nem érhető el a GCP-ben. -
streamId: A stream globálisan egyedi azonosítója.
A Databricks fenntartja ezeket a kulcsneveket, és nem írhatja felül az értékeiket.
Az Azure-ról további információt az üzenetsorok és metaadatok elnevezése, valamint az properties.labels lefedettsége című témakörben talál. Az Automatikus betöltő címkékként tárolja ezeket a kulcs-érték címke párokat JSON-ban.
Felhőspecifikus
Az Automatikus betöltő a felhőinfrastruktúra fájlértesítési módhoz való konfigurálására szolgáló beállítási lehetőségekkel rendelkezik. A szükséges felhőbeli engedélyekért és beállítási utasításokért tekintse meg az Automatikus betöltő streamek konfigurálása fájlértesítési módban című témakört.
Azure
Ha megadja az alábbi beállításokat cloudFiles.useNotifications = true , és azt szeretné, hogy az Automatikus betöltő állítsa be az értesítési szolgáltatásokat az Ön számára:
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
cloudFiles.resourceGroup |
None | Bármilyen szöveg | Az Azure erőforráscsoport, amelyben a tárfiók létrejön. |
cloudFiles.subscriptionId |
None | Bármilyen szöveg | Az Azure előfizetés-azonosító, amelyben az erőforráscsoport létrejön. |
databricks.serviceCredential |
None | Bármilyen szöveg | A Databricks szolgáltatás hitelesítő adatainak neve. A Databricks Runtime 16.1-ben és újabb verziókban érhető el. |
Ha a Databricks szolgáltatás hitelesítő adatai nem érhetők el, ehelyett a következő hitelesítési beállításokat adhatja meg:
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
cloudFiles.clientId |
None | Bármilyen szöveg | A szolgáltatási főidentitás ügyfélazonosítója vagy alkalmazásazonosítója. |
cloudFiles.clientSecret |
None | Bármilyen szöveg | A szolgáltatás tulajdonosának ügyféltitka. |
cloudFiles.connectionString |
None | Kapcsolati karakterlánc | A tárfiók kapcsolati karakterlánca a fiók hozzáférési kulcsa vagy a közös hozzáférési jogosultságkód (SAS) alapján. |
cloudFiles.tenantId |
None | Bármilyen szöveg | A Azure bérlőazonosító, amelyben a szolgáltatásnév létrejön. |
Csak akkor adja meg a következő beállítást, ha be van állítva cloudFiles.useNotifications = true , és azt szeretné, hogy az Automatikus betöltő meglévő üzenetsort használjon:
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
cloudFiles.queueName |
None | Bármilyen szöveg | Az Azure-sorköz neve. Ha meg van adva, a felhőfájlok forrása közvetlenül ebből az üzenetsorból használja fel az eseményeket ahelyett, hogy saját Azure Event Grid és Queue Storage-szolgáltatásokat állít be. Ebben az esetben a databricks.serviceCredential vagy cloudFiles.connectionString csak olvasási engedélyeket igényel a várólistán. |
Delta-tó
A delta lake-tábla spark.readStreamhasználatával történő olvasáskor a következő beállítások érvényesek.
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
allowSourceColumnDrop |
None | Verziószám vagy always |
Állítsa be a Delta-tábla verziószámát, vagy always engedélyezze a stream folytatását az oszlopok elvetése után a forrástábla sémájából. Ha verziószámra van állítva, az adott verzióra vonatkozó összes sémamódosítást nyugtázza. Szükséges schemaTrackingLocation. Lásd: Oszlopok átnevezése és elhagyása a Delta Lake oszlopleképezés alkalmazásával. |
allowSourceColumnRename |
None | Verziószám vagy always |
Állítsa be a Delta-tábla verziószámát, vagy always engedélyezze a stream folytatását a forrástáblában lévő oszlopok átnevezése után. Ha verziószámra van állítva, az adott verzióra vonatkozó összes sémamódosítást nyugtázza. Szükséges schemaTrackingLocation. Lásd: Oszlopok átnevezése és elhagyása a Delta Lake oszlopleképezés alkalmazásával. |
allowSourceColumnTypeChange |
None | Verziószám vagy always |
Állítsa be a Delta-tábla verziószámát, vagy always engedélyezze a stream folytatását az oszloptípusok módosítása után a forrástáblában. Ha verziószámra van állítva, az adott verzióra vonatkozó összes sémamódosítást nyugtázza. Szükséges schemaTrackingLocation. Lásd típusbővítés. |
excludeRegex |
None | Egy Java regex sztring | Egy reguláris kifejezésminta. Azok a fájlok, amelyek elérési útjai megegyeznek a mintával, ki vannak zárva a streamelési olvasásból. Olyan fájlok szűréséhez hasznos, amelyek nem felelnek meg a várt elnevezési konvenciónak. |
failOnDataLoss |
true |
true, false |
Sikertelen-e a streamelési lekérdezés, ha a forrásadatok a naplómegőrzés (logRetentionDuration) miatt lettek törölve. Állítsa be, hogy false kihagyja a hiányzó adatokat, és folytassa a feldolgozást. Lásd: Adatmegőrzés konfigurálása időutazásos lekérdezésekhez. |
ignoreChanges (elavult) |
false |
true, false |
A Databricks Runtime 11.3 LTS és alacsonyabb verziókban érhető el. Újra kibocsátja az újraírt adatfájlokat olyan módosítási műveletek után, mint a UPDATE, MERGE INTO, DELETEvagy OVERWRITE. Az új sorok mellett változatlan sorok is kibocsáthatók, így az alsóbb rétegbeli fogyasztóknak kell kezelni az ismétlődéseket. A törléseket a rendszer nem propagálja lefelé. A helyére skipChangeCommits a Databricks Runtime 12.2 LTS és újabb verziók lépnek. |
ignoreDeletes (elavult) |
false |
true, false |
Figyelmen kívül hagyja azokat a tranzakciókat, amelyek adatokat törölnek a partícióhatárokon (csak a teljes partíció csökken). Nem kezeli a nem partíciós törléseket, frissítéseket és egyéb módosításokat. A skipChangeCommits használható helyette. |
readChangeFeed vagy readChangeData |
false |
true, false |
Engedélyezi-e a változásadatcsatorna olvasását a streamelési lekérdezéshez. Ha engedélyezve van, a stream sorszintű módosításokat (beszúrásokat, frissítéseket és törléseket) bocsát ki további metaadatoszlopokkal. Lásd: Adatcsatorna módosítása Azure Databricks. |
schemaTrackingLocation |
None | Elérési út sztringje | Elérési út egy könyvtárhoz, ahol a Delta Lake nyomon követi a streamelési olvasás sémamódosításait. Ez akkor szükséges, ha az oszlopleképezést engedélyező táblákról streamel, és a sémafejlődés kezelésére vonatkozó beállításokat használ allowSourceColumn* . A streamelési lekérdezésen belül checkpointLocation kell lennie. Lásd: Oszlopok átnevezése és elhagyása a Delta Lake oszlopleképezés alkalmazásával. |
skipChangeCommits |
false |
true, false |
Figyelmen kívül hagyja a meglévő rekordokat és folyamatokat csak hozzáfűzőket törlő vagy módosító tranzakciókat. A Databricks ezt a beállítást a legtöbb olyan számítási feladat esetében javasolja, amelyek nem használnak változási adatcsatornákat. A Databricks Runtime 12.2 LTS-ben és újabb verziókban érhető el. Lásd: A felsőbb rétegbeli módosítás véglegesítéseinek kihagyása a következővel skipChangeCommits: . |
startingTimestamp |
Legújabb elérhető | Időbélyeg-sztring, például 2019-01-01T00:00:00.000Z dátumsztring, például 2019-01-01 |
Az olvasás megkezdésének időbélyege. A stream beolvassa az összes, a megadott időbélyegen vagy után véglegesített táblamódosítást. Ha az időbélyeg megelőzi az összes elérhető tábla véglegesítését, a stream a legkorábbi elérhető véglegesítéstől indul. Nem használható együtt a következővel startingVersion: . Figyelmen kívül hagyja, ha a streamelési ellenőrzőpont már létezik. |
startingVersion |
Legújabb elérhető | Pozitív egész szám, 0vagy latest |
Delta táblaverzió, amelyből elkezdhet olvasni. A stream beolvassa az összes véglegesített módosítást a megadott verzióban vagy után. Adja meg latest , hogy csak a legutóbbi módosításoktól induljon el. Nem használható együtt a következővel startingTimestamp: . Figyelmen kívül hagyja, ha a streamelési ellenőrzőpont már létezik. Lásd: Táblázatelőzmények megjelenítése. |
withEventTimeOrder |
false |
true, false |
A kezdeti tábla-pillanatképet eseményidő gyűjtőkre osztja, így megakadályozza, hogy a rekordok helytelenül legyenek megjelölve késői eseményként, és a vízjelekkel rendelkező állapotalapú lekérdezésekben ne legyenek megjelölve. A pillanatképek kezdeti feldolgozása az ellenőrzőpont törlése nélkül nem módosítható. A Databricks Runtime 11.3 LTS-ben és újabb verziókban érhető el. Lásd : Folyamat kezdeti pillanatképe adatok elvetése nélkül. |
Kafka
Használja az alábbi lehetőségeket a következőkkel:spark.readStream.format("kafka")spark.read.format("kafka")
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
assign |
None | JSON-sztring, például {"topicA":[0,1],"topicB":[2,4]} |
A használni kívánt partíciók. Pontosan meg kell adnia az subscribeegyik lehetőséget subscribePatternvagy assign beállítást. |
failOnDataLoss |
true |
true, false |
A lekérdezés meghiúsulása, ha az adatok elveszhetnek, például törölt témakörök vagy eltolás csonkolása miatt. Állítsa be a false hiányzó adatok kihagyására és a folytatásra.A Databricks óvatos becslést ad arról, hogy az adatok elveszhettek-e. Ez azonban téves riasztásokat okozhat. |
fetchoffset.numretries |
3 |
Pozitív egész számok vagy 0 |
A Kafka-eltolások beolvasása során az újrapróbálkozások száma meghiúsul. |
fetchoffset.retryintervalms |
1000 |
Pozitív egész számok vagy 0 |
Az eltolás beolvasási újrapróbálkozások közötti ezredmásodpercben megadott intervallum. |
groupIdPrefix |
spark-kafka-source (streamelés), spark-kafka-relation (köteg) |
Bármilyen szöveg | Az automatikusan létrehozott Kafka fogyasztói csoportazonosítóhoz használandó testreszabott előtag. Ha kafka.group.id explicit módon van beállítva, az összekötő figyelmen kívül hagyja ezt a beállítást. |
kafka.group.id |
None | Bármilyen szöveg | Az olvasáshoz használandó Kafka fogyasztói csoport azonosítója. Óvatosan használja: az azonos csoportazonosítóval rendelkező lekérdezések zavarják egymást, és csak részleges adatokat olvasnak. Ez akkor fordulhat elő, ha egyidejű kötegelt és streamelési számítási feladatokat futtat, vagy ha a lekérdezések gyorsan újraindulnak. Ha be van állítva, groupIdPrefix a rendszer figyelmen kívül hagyja. A problémák minimalizálása érdekében állítsa a Kafka fogyasztói konfigurációját session.timeout.ms egy kis értékre. |
includeHeaders |
false |
true, false |
Kafka-üzenetfejlécek szerepeljenek-e oszlopként a kimenetben. |
kafkaconsumer.polltimeoutms |
None | Pozitív egész számok | A Kafka fogyasztói poll() hívás időtúllépése ezredmásodpercben. |
kafka.bootstrap.servers |
None | Sztringek vesszővel tagolt listája host:port |
Kafka-közvetítők gazdagép-portcímeinek vesszővel tagolt listája. Beállítja a Kafka-ügyfél tulajdonságát bootstrap.servers .Ha úgy találja, hogy a Kafka nem tartalmaz adatokat, ellenőrizze a közvetítő címlistájában a helytelen címeket. Ha a közvetítő címlistája helytelen, előfordulhat, hogy nem történt hiba. A Kafka-ügyfelek feltételezik, hogy a közvetítők végül elérhetők lesznek, és újra próbálkoznak örökre, amikor hálózati hibákat kapnak. |
maxRecordsPerPartition |
None | Pozitív egész számok | Az egyes Spark-partíciók rekordjainak maximális száma. Ha be van állítva, az összekötő felosztja a Kafka-partíciókat, így minden Spark-partíció legfeljebb ennyi rekordot olvas be. Ezt a lehetőséget a következővel is használhatja minPartitions: Ha mindkét beállítás be van állítva, a Spark azt használja, amelyik több partíciót eredményez. |
minPartitions |
None | Pozitív egész számok | A Kafkából beolvasandó Spark-partíciók minimális száma. Ha be van állítva, az összekötő felosztja a nagy Kafka-partíciókat a párhuzamosság növelése érdekében. Ha nincs beállítva, a Spark minden Kafka-témakörpartícióhoz létrehoz egy partíciót. Hasznos adateltérés vagy csúcsterhelés kezelésére. Ez a beállítás újrainicializálja a Kafka-felhasználókat minden eseményindítóhoz, ami befolyásolhatja az SSL teljesítményét. |
startingOffsets |
latest (streamelés), earliest (köteg) |
earliest, vagy latestJSON eltolási sztring |
Az eltolás, amelyből a lekérdezés megkezdi az olvasást. A JSON-sztringben -1 a legújabb eltolás.
-2 a legkorábbi eltolás. Például: {"topicA":{"0":23,"1":-2}}.Streamelési lekérdezések esetén ez a beállítás csak új lekérdezés indításakor érvényes. Az újrakezdett lekérdezések mindig az ellenőrzőpontot használják. A lekérdezés során az új partíciók a legkorábbi eltoláskor kezdik el az olvasást. Kötegelt lekérdezések latest esetén nem engedélyezett. |
startingOffsetsByTimestamp |
None | JSON-időbélyeg-sztring, például {"topicA":{"0":1000,"1":2000}} |
Az egyes partíciók kezdő eltolásainak listája, időbélyegként megadva ezredmásodpercben. Ha nincs eltolás az időbélyeghez, a lekérdezés viselkedését a rendszer határozza startingOffsetsByTimestampStrategymeg.Streamelési lekérdezések esetén ez a beállítás csak új lekérdezés indításakor érvényes. Az újrakezdett lekérdezések mindig az ellenőrzőpontot használják. A lekérdezés során az új partíciók a legkorábbi eltoláskor kezdik el az olvasást. |
startingOffsetsByTimestampStrategy |
error |
error, latest |
Az a stratégia, amelyet akkor kell használni, ha nem található eltolás a megadott startingOffsetsByTimestamp időbélyeghez vagy startingTimestamp.
error kivételt jelez.
latest A legújabb elérhető eltolást használja. |
startingTimestamp |
None | Pozitív egész számok vagy 0 |
A globális kezdési időbélyeg ezredmásodpercben, amely az összes partícióra vonatkozik. Ha nincs eltolás az időbélyeghez, a viselkedést a rendszer szabályozza startingOffsetsByTimestampStrategy. |
subscribe |
None | Témakörnevek vesszővel tagolt listája | A feliratkozáshoz kapcsolódó témakörök. Pontosan meg kell adnia az subscribeegyik lehetőséget subscribePatternvagy assign beállítást. |
subscribePattern |
None | Egy Java regex sztring | A témakörökre való feliratkozáshoz használt minta. Pontosan meg kell adnia az subscribeegyik lehetőséget subscribePatternvagy assign beállítást. Például: topic.*. |
A következő beállítások csak a streamelési olvasásokra vonatkoznak spark.readStream.format("kafka"):
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
bytesEstimateWindowLength |
300s |
Időtartam-sztringek, például 10m vagy 600s |
A metrikához tartozó fennmaradó bájtok becsléséhez estimatedTotalBytesBehindLatest használt időablak. Lásd: Kafka-metrikák lekérése. |
maxOffsetsPerTrigger |
None | Pozitív egész számok | Az eseményindító-intervallumonként feldolgozandó eltolások maximális száma. Az eltolások arányosan vannak elosztva a témakörpartíciók között. |
maxTriggerDelay |
15m |
Időtartam-sztringek, például 10m vagy 600s |
Az aktiválás előtt a halmozódásra váró minOffsetsPerTrigger maximális idő. |
minOffsetsPerTrigger |
None | Pozitív egész számok | A mikroköteg aktiválása előtt felhalmozandó eltolások minimális száma. Amikor maxTriggerDelay el van érve, a mikroköteg függetlenül fut. |
A csak kötegelt olvasásokra spark.read.format("kafka")vonatkozó eltolási beállításokért lásd a DataFrameReader Kafka beállításait.
Hitelesítés
A Databricks a Unity Catalog szolgáltatás hitelesítő adatainak használatát javasolja a felhőben felügyelt Kafka-szolgáltatások (AWS MSK, Azure Event Hubs vagy Google Cloud Managed Kafka) hitelesítéséhez.
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
databricks.serviceCredential |
None | Bármilyen szöveg | A Unity Catalog szolgáltatás hitelesítő adatainak neve a felhő által felügyelt Kafka-szolgáltatásokhoz való hitelesítéshez. A Databricks Runtime 16.1-ben és újabb verziókban érhető el. |
databricks.serviceCredential.scope |
None | Bármilyen szöveg | A szolgáltatás hitelesítő adatainak OAuth-hatóköre. Ezt csak akkor állítsa be, ha Azure Databricks nem tudja automatikusan következtetni a Kafka-szolgáltatás hatókörére. |
Ha egy szolgáltatás hitelesítő adatai nem érhetők el, használjon SASL/SSL-beállításokat (tulajdonságokként kafka.* továbbítva). Szolgáltatás hitelesítő adatainak használatakor nem kell megadnia kafka.sasl.mechanismaz , kafka.sasl.jaas.configvagy kafka.security.protocol.
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
kafka.security.protocol |
None | Biztonsági protokoll sztringje, például SASL_SSL: , SSLPLAINTEXT |
A közvetítői kommunikáció biztonsági protokollja. |
kafka.sasl.mechanism |
None | SASL-mechanizmus sztringje, például PLAIN: , SCRAM-SHA-256SCRAM-SHA-512, , OAUTHBEARERAWS_MSK_IAM |
Az SASL mechanizmus. |
kafka.sasl.jaas.config |
None | JAAS-konfigurációs sztring | A JAAS bejelentkezési konfigurációs sztringje. |
kafka.sasl.login.callback.handler.class |
None | Teljes osztálynév | A SASL-hitelesítéshez használt bejelentkezési visszahívás-kezelő teljes osztályneve. |
kafka.sasl.client.callback.handler.class |
None | Teljes osztálynév | Az SASL-hitelesítéshez használt ügyfélhívás-visszahívás-kezelő teljes osztályneve. |
kafka.ssl.truststore.location |
None | Fájlútvonal-sztring | Az SSL megbízhatósági tárolófájl elérési útja. |
kafka.ssl.truststore.password |
None | Bármilyen szöveg | Az SSL megbízhatósági tárolófájl jelszava. |
kafka.ssl.keystore.location |
None | Fájlútvonal-sztring | Az SSL-kulcstároló fájl elérési útja. |
kafka.ssl.keystore.password |
None | Bármilyen szöveg | Az SSL-kulcstároló fájl jelszava. |
A teljes hitelesítési beállítási utasításokért tekintse meg a Hitelesítés című témakört.
Pub/Sub
Ezekkel a beállításokkal spark.readStream.format("pubsub") feliratkozhat a Google Pub/Sub szolgáltatásra. A beállítások subscriptionId, topicIdés projectId kötelezőek.
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
subscriptionId |
None | Bármilyen szöveg | Kötelező. A pub/al-előfizetés azonosítója. Az összekötő létrehozza az előfizetést, ha nem létezik. |
topicId |
None | Bármilyen szöveg | Kötelező. A pub/altémakör azonosítója. |
projectId |
None | Bármilyen szöveg | Kötelező. A Google Cloud projektazonosítója. |
numFetchPartitions |
A stream inicializálásakor elérhető végrehajtók számának fele | Pozitív egész számok | Az előfizetés sorait lekérő párhuzamos Spark-feladatok száma. |
maxBytesPerTrigger |
None | Pozitív egész számok | A mikro kötegenként feldolgozandó bájtok számának enyhe korlátja. |
maxRecordsPerFetch |
1000 |
Pozitív egész számok | A feldolgozás előtt beolvasandó sorok száma tevékenységenként. |
maxFetchPeriod |
10s |
Időtartam-sztring, például 1s vagy 1m |
Az az időtartam, ameddig az egyes feladatok adatokat kérnek le a sorok feldolgozása előtt. Azure Databricks az alapértelmezett érték használatát javasolja. |
deleteSubscriptionOnStreamStop |
false |
true, false |
Amikor truea streamelési lekérdezés véget ér, a rendszer törli az előfizetést subscriptionId. |
serviceCredential |
None | Bármilyen szöveg | Egy Azure Databricks szolgáltatás hitelesítő adatainak neve a Pub/Sub hitelesítéséhez. A Databricks Runtime 16.1-ben és újabb verziókban érhető el. |
clientEmail |
None | E-mail-cím sztringje | A Google szolgáltatásfiók e-mail-címe. Szolgáltatás hitelesítő adatainak használata esetén kötelező. |
clientId |
None | Bármilyen szöveg | A Google szolgáltatásfiók ügyfélazonosítója. Szolgáltatás hitelesítő adatainak használata esetén kötelező. |
privateKey |
None | Titkos kulcs sztringje | A Google szolgáltatásfiók titkos kulcsa. Szolgáltatás hitelesítő adatainak használata esetén kötelező. |
privateKeyId |
None | Bármilyen szöveg | A Google szolgáltatásfiók titkos kulcsazonosítója. Szolgáltatás hitelesítő adatainak használata esetén kötelező. |
A Pub/Sub szolgáltatásról további információt a Feliratkozás a Google Pub/Sub szolgáltatásra című témakörben talál.
Pulzár
Ezekkel a beállításokkal spark.readStream.format("pulsar") streamelhet az Apache Pulsarból. A Databricks Runtime 14.1-ben és újabb verziókban érhető el.
A következő lehetőségek szükségesek. Pontosan meg kell adnia az egyiket topic, topicsvagy topicsPatterna másikat.
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
service.url |
None | A Pulsar szolgáltatás URL-sztringje | A Pulsar szolgáltatás pulzárja serviceURL , például pulsar://broker.example.com:6650. |
topic |
None | Bármilyen szöveg | Egyetlen felhasználandó témakörnév. |
topics |
None | Témakörnevek vesszővel tagolt listája | A használandó témakörnevek vesszővel tagolt listája. |
topicsPattern |
None | Egy Java regex sztring | Egy Java regex sztring, amely megfelel a témakörneveknek. |
A következő lehetőségek is támogatottak:
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
admin.url |
None | URL-sztring | A Pulsar felügyeleti szolgáltatás HTTP-URL-címe.
maxBytesPerTrigger Ha be van állítva, kötelező megadni. |
allowDifferentTopicSchemas |
false |
true, false |
Ha több különböző sémával rendelkező témakört olvas, ezzel a beállítással kikapcsolhatja az automatikus sémaalapú témakörérték-deszerializálást. Ez esetben csak a nyers értékek lesznek visszaadva true. |
failOnDataLoss |
true |
true, false |
Azt határozza meg, hogy az adatok elvesztésekor sikertelen legyen-e a lekérdezés. Adatvesztés történhet például a témakörök törlésekor, illetve az üzenetek adatmegőrzési szabályzat miatt való lejáratakor. |
maxBytesPerTrigger |
None | Pozitív egész számok | A mikro kötegenként feldolgozandó bájtok számának enyhe korlátja. Szükséges admin.url. |
pollTimeoutMs |
120000 |
Pozitív egész számok | A Pulsar üzeneteinek ezredmásodpercben történő olvasásának időtúllépése. |
predefinedSubscription |
None | Bármilyen szöveg | Az összekötő által a Spark-alkalmazások előrehaladásának nyomon követéséhez használt előre definiált előfizetésnév. |
startingOffsets |
latest |
latest, vagy earliestJSON eltolási sztring |
Honnan kezdjen el olvasni? |
subscriptionPrefix |
None | Bármilyen szöveg | Az összekötő által a Spark-alkalmazások előrehaladásának nyomon követésére szolgáló véletlenszerű előfizetés létrehozásához használt előtag. |
waitingForNonExistedTopic |
false |
true, false |
Azt jelzi, hogy az összekötő megvárja-e a kívánt témakörök létrehozását. |
További Pulsar-ügyfél-, rendszergazda- és olvasókonfigurációkat az alábbi beállítási minták használatával adhat meg:
| Minta | Konfigurációs beállítások |
|---|---|
pulsar.admin.* |
Pulsar rendszergazdai konfiguráció |
pulsar.client.* |
Pulsar-ügyfélkonfiguráció, beleértve az olyan hitelesítési lehetőségeket is, mint az pulsar.client.authPluginClassName és pulsar.client.authParams. |
pulsar.reader.* |
Pulsar-olvasó konfigurációja |
További információ a Pulsar ügyfél- és rendszergazdai hitelesítési lehetőségeiről: Hitelesítés.
Hitelesítés
Az Azure Databricks támogatja a truststore és a keystore hitelesítést a Pulsar számára. Azure Databricks a titkos kulcsok használatát javasolja a hitelesítési adatok tárolásához. Lásd: Titkos kódok kezelése.
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
pulsar.client.authPluginClassName |
None | Teljes osztálynév | A hitelesítési beépülő modul teljes osztályneve. Például: org.apache.pulsar.client.impl.auth.AuthenticationTls. |
pulsar.client.authParams |
None | Hitelesítőadat-sztring | A hitelesítési beépülő modulnak sztringként átadott hitelesítési hitelesítő adatok. Például: tlsCertFile:/path/to/my-role.cert.pem,tlsKeyFile:/path/to/my-role.key-pk8.pem. |
pulsar.client.useKeyStoreTls |
false |
true, false |
Amikor trueengedélyezi a KeyStore-alapú TLS-konfigurációt PEM-formátumú fájlok helyett. |
pulsar.client.tlsTrustStoreType |
None | Bármilyen szöveg | A TLS megbízhatósági tárolófájl formátuma. Például: JKS. |
pulsar.client.tlsTrustStorePath |
None | Fájlútvonal-sztring | A megbízható hitelesítésszolgáltatói tanúsítványokat tartalmazó TLS megbízhatósági tárolófájl elérési útja. Kötelező, ha pulsar.client.useKeyStoreTls van true. |
pulsar.client.tlsTrustStorePassword |
None | Bármilyen szöveg | A TLS megbízhatósági tárolófájl jelszava. |
Ha a stream a következőt PulsarAdminhasználja, a következő beállításokat is megadhatja:
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
pulsar.admin.authPluginClassName |
None | Teljes osztálynév | A Pulsar felügyeleti ügyfél hitelesítési beépülő moduljának teljes osztályneve. |
pulsar.admin.authParams |
None | Hitelesítőadat-sztring | Hitelesítési hitelesítő adatok a Pulsar rendszergazdai ügyfél-hitelesítési beépülő moduljához. |
pulsar.admin.useTls |
None |
true, false |
TLS használata a Pulsar rendszergazdai ügyfélkapcsolathoz. |
pulsar.admin.tlsAllowInsecureConnection |
None |
true, false |
Nem biztonságos TLS-kapcsolatok engedélyezése a Pulsar felügyeleti ügyfél számára. |
pulsar.admin.tlsTrustCertsFilePath |
None | Fájlútvonal-sztring | A Pulsar felügyeleti ügyfél megbízható TLS-tanúsítványfájljának elérési útja. |
pulsar.admin.useKeyStoreTls |
None |
true, false |
A KeyStore-alapú TLS használata a Pulsar felügyeleti ügyfélhez. |
pulsar.admin.tlsTrustStoreType |
None | Bármilyen szöveg | A Pulsar felügyeleti ügyfél TLS megbízhatósági tárolójának formátuma. Például: JKS. |
pulsar.admin.tlsTrustStorePath |
None | Fájlútvonal-sztring | A Pulsar felügyeleti ügyfél TLS megbízhatósági tárolófájljának elérési útja. Kötelező, ha pulsar.admin.useKeyStoreTls van true. |
pulsar.admin.tlsTrustStorePassword |
None | Bármilyen szöveg | A Pulsar rendszergazdai ügyfél TLS megbízhatósági tárolójának jelszava. |
A hitelesítési példákat lásd: Hitelesítés a Pulsarban.
A DataFrameWriter beállításai
Ezekkel a beállításokkal DataFrameWriter.option() és DataFrameWriterV2.option() szabályozhatja, hogy Azure Databricks hogyan írja le az adatokat.
Example
Az alábbi példa egy Delta Lake-tábla írására állítja be mergeSchemaTrue a következőt:
Python
df.write.format("delta").option("mergeSchema", True).saveAsTable("my_table")
Scala
df.write.format("delta").option("mergeSchema", "true").saveAsTable("my_table")
Avro
Az Avro-fájlok írásakor az alábbi beállítások érvényesek.
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
avroSchema |
None | JSON-sémasztring | A teljes Avro-séma JSON-sztringként. Ezzel a beállítással a Spark SQL-típusok adott Avro-típusokká alakíthatók. Az Avro-fájlok olvasására és írására vonatkozik. |
avroSchemaUrl |
None | URL-sztring | Egy Avro-sémafájlra mutató URL-cím. Használja ahelyett avroSchema , hogy a sémát külsőleg tárolja. Kölcsönösen kizárja egymást a avroSchema-vel. Az Avro-fájlok olvasására és írására vonatkozik. |
compression |
snappy |
uncompressed, deflate, snappy (default), bzip2xzzstandard |
Íráskor használandó tömörítési kodek. Az Avro-fájlok olvasására és írására vonatkozik. |
recordName |
topLevelRecord |
Bármilyen szöveg | A kimeneti Avro-séma legfelső szintű rekordneve. Az Avro-fájlok olvasására és írására vonatkozik. |
positionalFieldMatching |
false |
true, false |
Azt határozza meg, hogy a Spark-séma és az Avro-séma közötti oszlopokat név helyett mezőpozíció alapján szeretné-e egyeztetni. Az Avro-fájlok olvasására és írására vonatkozik. |
recordNamespace |
Üres sztring | Bármilyen szöveg | A kimeneti Avro-séma legfelső szintű rekordjának névtere. Az Avro-fájlok olvasására és írására vonatkozik. |
Delta Lake és Apache Iceberg
Delta Lake- és Apache Iceberg-táblák írásakor az alábbi lehetőségek érvényesek.
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
clusterByAuto |
false |
true, false |
Engedélyezi-e az automatikus folyékony fürtözést, ahol Azure Databricks lekérdezési minták alapján választja ki a fürtözési oszlopokat. Csak a mode("overwrite"). Móddal append nem használható. A Databricks Runtime 16.4-ben és újabb verziókban érhető el. A táblák folyékony fürtözésének használatára vonatkozik. |
mergeSchema |
None |
true, false |
A sémafejlődés engedélyezése az írási művelethez. A forrásadatkeret új oszlopai hozzáadódnak a céltábla sémához. Kötegelt és streamelési hozzáfűzőkre vonatkozik. A sémafejlődést tartalmazó táblaséma frissítésére vonatkozik. |
overwriteSchema |
None |
true, false |
A táblázatsémát és a particionálást felülíráskor kell-e lecserélni.
mode("overwrite")Nélküle szükségesreplaceWhere. Nem használható a következővel: partitionOverwriteMode. A sémafejlődést tartalmazó táblaséma frissítésére vonatkozik. |
partitionOverwriteMode |
None |
static, dynamic |
A partíció felülírja a módot. Állítsa ezt úgy, hogy dynamic csak az új adatokat tartalmazó partíciókat írja felül, és az összes többi partíciót változatlanul hagyja. Örökölt mód, kiszolgáló nélküli számítási vagy Databricks SQL-ben nem támogatott. A Delta Lake-szel végzett adatok szelektív felülírására vonatkozik. |
replaceOn |
None | Logikai kifejezés sztringje | Logikai kifejezés, amely megfelel a céltábla sorainak a forráslekérdezés soraival való helyettesítéséhez. Hivatkozhat a céltáblából és a forrás lekérdezésből származó oszlopokra is. A forrássornak megfelelő célsorok törlődnek és lecserélődnek. Ha a forrás üres, nem történik törlés. Oszlophivatkozások egyértelműsítésére használható targetAlias . A Databricks Runtime 17.1-ben és újabb verziókban érhető el. A Delta Lake-szel végzett adatok szelektív felülírására vonatkozik. |
replaceUsing |
None | Oszlopnevek vesszővel tagolt listája | A céltábla és a forrás lekérdezés közötti sorok egyeztetéséhez használt oszlopnevek vesszővel tagolt listája. A célnak és a forrásnak is tartalmaznia kell az összes felsorolt oszlopot. Az egyenlőségi összehasonlításban szereplő forrássornak megfelelő célsorok törlődnek és lecserélődnek.
NULL az értékek nem egyenlőként vannak kezelve, és nem egyeznek. A Databricks Runtime 16.3-ban és újabb verziókban érhető el. A Delta Lake-szel végzett adatok szelektív felülírására vonatkozik. |
replaceWhere |
None | Predikátumkifejezés-sztring | Predikátum kifejezés. Atomilag csak a predikátumnak megfelelő rekordokat írja felül. A Delta Lake-szel végzett adatok szelektív felülírására vonatkozik. |
targetAlias |
None | Bármilyen szöveg | A céltábla sztring-aliasa. Ha a feltétel a céltáblából és replaceOn a forrás lekérdezésből származó oszlopokra hivatkozik, az oszlophivatkozásokkal vagy azok egyértelműsítésével replaceWhere használható. A Delta Lake-szel végzett adatok szelektív felülírására vonatkozik. |
txnAppId |
None | Bármilyen szöveg | Egy egyedi sztring, amely azonosítja az alkalmazást az idempotens írásokhoz a műveletekben foreachBatch . Ezzel együtt txnVersion biztosíthatja, hogy pontosan egyszer írjon több Delta Lake-táblába.
Idempotens táblaírásra vonatkozikforeachBatch. |
txnVersion |
None | Egy monoton módon növekvő egész szám | Az idempotens írások tranzakciós verziójaként a műveletekben foreachBatch monoton módon növekvő szám. Ezzel együtt txnAppId biztosíthatja, hogy pontosan egyszer írjon több Delta Lake-táblába.
Idempotens táblaírásra vonatkozikforeachBatch. |
optimizeWrite |
None |
true, false |
Engedélyezi-e az írás automatikus optimalizálását ehhez az írási művelethez. Felülbírálja a konfigurációt spark.databricks.delta.optimizeWrite.enabled . A Mi a Delta Lake a Azure Databricks?. |
userMetadata |
None | Bármilyen szöveg | Az írási művelet véglegesítési metaadataihoz hozzáfűzött felhasználó által definiált sztring. Látható a kimenetben DESCRIBE HISTORY. Egyéni metaadatokkal rendelkező gazdagító táblákra vonatkozik. |
CSV
CSV-fájlok írásakor az alábbi beállítások érvényesek.
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
charToEscapeQuoteEscaping |
\0 (nincs engedélyezve) |
Egyetlen karakter | A feloldó karakterből való kilépéshez használt karakter, ha eltér az idézőjeltől. A csv (DataFrameWriter)-ra vonatkozik. |
compression |
none |
none (default), bzip2, gzip, lz4snappy, deflatezstd |
Íráskor használandó tömörítési kodek. A csv (DataFrameWriter)-ra vonatkozik. |
dateFormat |
yyyy-MM-dd |
Dátumformátum sztringje | Dátumoszlopértékek sztringének formázása. A csv (DataFrameWriter)-ra vonatkozik. |
emptyValue |
Üres sztring | Bármilyen szöveg | Üres (nem null) értékekhez írt sztring. A csv (DataFrameWriter)-ra vonatkozik. |
encoding |
UTF-8 |
Név java.nio.charset.Charset |
A kimeneti fájlok karakterkódolása. A csv (DataFrameWriter)-ra vonatkozik. |
escape |
\ |
Egyetlen karakter | Az idézett értékek feloldásához használt karakter. A csv (DataFrameWriter)-ra vonatkozik. |
escapeQuotes |
true |
true, false |
Idézőjelek feloldása idézőjelek között az idézőjelértékek között. A csv (DataFrameWriter)-ra vonatkozik. |
header |
false |
true, false |
Oszlopnevek írása a kimenet első soraként. A csv (DataFrameWriter)-ra vonatkozik. |
ignoreLeadingWhiteSpace |
false |
true, false |
Azt határozza meg, hogy íráskor levágja-e a kezdő szóközt az értékekből. A csv (DataFrameWriter)-ra vonatkozik. |
ignoreTrailingWhiteSpace |
false |
true, false |
Azt határozza meg, hogy a záró szóközt le kell-e vágni az értékekből íráskor. A csv (DataFrameWriter)-ra vonatkozik. |
lineSep |
\n |
Karakterlánc | A rekordok között használt vonalelválasztó sztring. A csv (DataFrameWriter)-ra vonatkozik. |
locale |
en-US |
Azonosító java.util.Locale |
Egy java.util.Locale azonosító. Egy Java területi beállítás, amely hatással van az alapértelmezett dátumra, időbélyegre és decimális elemzésre a CSV-ben. |
nullValue |
Üres sztring | Bármilyen szöveg | Null értékekhez írt sztring. A csv (DataFrameWriter)-ra vonatkozik. |
quote |
" |
Egyetlen karakter | Az elválasztót tartalmazó mezőértékek idézéséhez használt karakter. A csv (DataFrameWriter)-ra vonatkozik. |
quoteAll |
false |
true, false |
Azt határozza meg, hogy az összes mezőértéket idézőjelekbe foglalja-e a tartalomtól függetlenül. A csv (DataFrameWriter)-ra vonatkozik. |
sep |
, |
Karakterlánc | A mezőelválasztó karakter. A csv (DataFrameWriter)-ra vonatkozik. |
timestampFormat |
yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] |
Időbélyeg formátum sztringje | Az időbélyeg oszlopértékeinek formátumsztringje. A csv (DataFrameWriter)-ra vonatkozik. |
timestampNTZFormat |
yyyy-MM-dd'T'HH:mm:ss[.SSS] |
Időbélyeg formátum sztringje | Időzón () oszlopértékek nélküli időbélyeg sztringének formázásaTimestampNTZType. |
Excel
A következő beállítások Excel fájlok írásakor érvényesek.
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
dataAddress |
None | Munkalapnév vagy cellahivatkozási sztring | Az írás munkalapneve vagy kezdőcellája. Ha nincs megadva, egy cellától Sheet1kezdődő lapra A1 ír. Egy lapnevet (SheetName) vagy egy cellahivatkozást (SheetName!A1) fogad el. A cellatartományok írása nem támogatott. |
dateFormatInWrite |
yyyy-mm-dd |
Excel dátumformátum sztringje | Excel Date oszlopokra alkalmazott cellaformátum-sztring. Excel formátumszintaxisát használja. |
headerRows |
0 |
0, 1 |
Oszlopnevek írása első sorként. |
timestampNTZFormat |
yyyy-mm-dd hh:mm:ss |
Excel időbélyeg formátum sztringje | Excel TimestampNTZ és Timestamp oszlopokra alkalmazott cellaformátum-sztring. Excel formátumszintaxisát használja. |
version |
xlsx |
xlsx, xls |
Az íráshoz Excel fájlformátum verziója. |
JSON
JSON-fájlok írásakor az alábbi beállítások érvényesek.
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
compression |
none |
none, bzip2, gzip, lz4snappy, deflatezstd |
Íráskor használandó tömörítési kodek. A json (DataFrameWriter)-ra vonatkozik. |
dateFormat |
yyyy-MM-dd |
Dátumformátum sztringje | Dátumoszlopértékek sztringének formázása. A json (DataFrameWriter)-ra vonatkozik. |
encoding |
UTF-8 |
Név java.nio.charset.Charset |
A kimeneti fájlok karakterkódolása. A json (DataFrameWriter)-ra vonatkozik. |
ignoreNullFields |
értéke spark.sql.jsonGenerator.ignoreNullFields |
true, false |
Kihagyja-e a JSON-kimenet null értékű mezőit. A json (DataFrameWriter)-ra vonatkozik. |
lineSep |
\n |
Karakterlánc | A rekordok között használt vonalelválasztó sztring. A json (DataFrameWriter)-ra vonatkozik. |
locale |
en-US |
Azonosító java.util.Locale |
Egy Java területi azonosító, amely befolyásolja az alapértelmezett dátumot, időbélyeget és decimális elemzést a JSON-ban. |
pretty |
false |
true, false |
A szép (behúzott, többsoros) JSON-kimenet engedélyezése. |
sortKeys |
false |
true, false |
A JSON-objektumok kulcsainak betűrendbe rendezése a kimenetben. Determinisztikus kimenet előállításához hasznos. |
timestampFormat |
yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] |
Időbélyeg formátum sztringje | Az időbélyeg oszlopértékeinek formátumsztringje. A json (DataFrameWriter)-ra vonatkozik. |
timestampNTZFormat |
yyyy-MM-dd'T'HH:mm:ss[.SSS] |
Időbélyeg formátum sztringje | Időzón () oszlopértékek nélküli időbélyeg sztringének formázásaTimestampNTZType. |
writeNonAsciiCharacterAsCodePoint |
false |
true, false |
Nem ASCII-karakterek kódolása Unicode-feloldósorozatként \uXXXX a kimenetben lévő UTF-8 karakter helyett. |
ORK
ORC-fájlok írásakor az alábbi beállítások érvényesek.
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
compression |
zstd |
none, uncompressed, snappy, zliblzo, zstd, lz4brotli |
Íráskor használandó tömörítési kodek. Az orc (DataFrameWriter)-ra vonatkozik. |
Parketta
Parquet-fájlok írásakor az alábbi beállítások érvényesek.
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
compression |
snappy |
none, uncompressed, snappy, gziplzo, brotli, lz4, , lz4_rawzstd |
Íráskor használandó tömörítési kodek. A parquetre (DataFrameWriter) vonatkozik. |
spark.sql.parquet.outputTimestampType |
INT96 |
\ |
Az időbélyegoszlopok kódolásához használt fizikai típus. Olyan régi Parquet-olvasókkal való kompatibilitásra használható INT96 , amelyek nem támogatják a szabványos időbélyeg-típusokat. |
Szöveg
Szövegfájlok írásakor az alábbi beállítások érvényesek.
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
compression |
none |
none, bzip2, gzip, lz4snappy, deflatezstd |
Íráskor használandó tömörítési kodek. Szövegre (DataFrameWriter) vonatkozik. |
encoding |
UTF-8 |
Név java.nio.charset.Charset |
A kimeneti fájlok karakterkódolása. |
lineSep |
\n |
Karakterlánc | A rekordok között használt vonalelválasztó sztring. Szövegre (DataFrameWriter) vonatkozik. |
XML
XML-fájlok írásakor az alábbi beállítások érvényesek.
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
arrayElementName |
item |
Bármilyen szöveg | Az explicit névvel nem rendelkező tömbelemek elemneve. Xml (DataFrameWriter)-ra vonatkozik. |
attributePrefix |
_ |
Bármilyen szöveg | Az XML-attribútumoknak megfelelő mezőnevekre előtag. Xml (DataFrameWriter)-ra vonatkozik. |
compression |
none |
none, bzip2, gzip, lz4snappy, deflatezstd |
Íráskor használandó tömörítési kodek. Xml (DataFrameWriter)-ra vonatkozik. |
dateFormat |
yyyy-MM-dd |
Dátumformátum sztringje | Dátumoszlopértékek sztringének formázása. Xml (DataFrameWriter)-ra vonatkozik. |
declaration |
version="1.0" encoding="UTF-8" standalone="yes" |
EGY XML-deklarációs sztring vagy egy üres sztring, amely letiltható | Az egyes kimeneti fájlok tetején megírt XML-deklarációs sztring. Állítsa üres sztringre a deklaráció letiltásához. Xml (DataFrameWriter)-ra vonatkozik. |
encoding |
UTF-8 |
Név java.nio.charset.Charset |
A kimeneti fájlok karakterkódolása. Xml (DataFrameWriter)-ra vonatkozik. |
indent |
4 szóköz | Bármilyen szöveg | A kimenet gyermekelemeinek behúzására használt sztring. Állítsa be üres sztringre a behúzás kikapcsolásához és az egyes sorok egyetlen sorba írásához. |
locale |
en-US |
Azonosító java.util.Locale |
Egy Java területi azonosító, amely hatással van az XML alapértelmezett dátumára, időbélyegére és decimális formázására. |
nullValue |
null |
Bármilyen szöveg | A null értékekhez írt sztring. Ha be van állítva, a nullnull mezők attribútumai és gyermekelemei nem lesznek megadva. Xml (DataFrameWriter)-ra vonatkozik. |
rootTag |
ROWS |
Bármilyen szöveg | A kimenet összes sorelemét körbefuttató gyökérelemcímke. Xml (DataFrameWriter)-ra vonatkozik. |
rowTag |
ROW |
Bármilyen szöveg | A kimenet egy sorát jelképező elemcímke. Xml (DataFrameWriter)-ra vonatkozik. |
singleVariantColumn |
None | Oszlopnév-sztring | Az XML-fájlokba írandó egyetlen Variant oszlop neve. Xml (DataFrameWriter)-ra vonatkozik. |
timestampFormat |
yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] |
Időbélyeg formátum sztringje | Az időbélyeg oszlopértékeinek formátumsztringje. Xml (DataFrameWriter)-ra vonatkozik. |
timestampNTZFormat |
yyyy-MM-dd'T'HH:mm:ss[.SSS] |
Időbélyeg formátum sztringje | Időzón oszlopértékek nélkül formázza az időbélyeg sztringet. Xml (DataFrameWriter)-ra vonatkozik. |
validateName |
true |
true, false |
Kivételt jelent-e, ha egy oszlopnév nem érvényes XML-elemazonosító. Xml (DataFrameWriter)-ra vonatkozik. |
valueTag |
_VALUE |
Bármilyen szöveg | Az attribútumokkal vagy gyermekelemekkel is rendelkező XML-elemek karakteradataihoz használt mezőnév. Xml (DataFrameWriter)-ra vonatkozik. |
A DataStreamWriter beállításai
Ezekkel a beállításokkal DataStreamWriter.option() konfigurálhatja a streamelési írásokat.
Example
Az alábbi példa egy stream ellenőrzőpont-helyét állítja be:
Python
(df.writeStream
.format("delta")
.option("checkpointLocation", "/path/to/checkpoint")
.start("/path/to/table"))
Scala
df.writeStream
.format("delta")
.option("checkpointLocation", "/path/to/checkpoint")
.start("/path/to/table")
Közös
Az alábbi beállítások az összes streamelési írási műveletre vonatkoznak.
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
checkpointLocation |
Nincs (kötelező) | Elérési út sztringje | A streamelési lekérdezés ellenőrzőpont-könyvtárának elérési útja. Hibatűréshez és pontosan egyszeri feldolgozási garanciákhoz szükséges. Minden streamelési lekérdezésnek egyedi ellenőrzőpont-helyet kell használnia. A Databricks azt javasolja, hogy az ellenőrzőpontokat egy Unity Catalog-kötetben vagy felhőbeli tárolási útvonalon tárolja. Lásd: Strukturált streamelési ellenőrzőpontok. |
path |
None | Elérési út sztringje | A fájlalapú streamelők, például a Parquet kimeneti elérési útja. Csak fájlalapú formátumokra vonatkozik. |
Konzol fogadója
A következő beállítások érvényesek, amikor streameket ír a konzol fogadójába.
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
numRows |
20 |
Pozitív egész számok | Az egyes mikrokötegekhez megjelenítendő sorok száma a konzol fogadójába való íráskor. |
truncate |
true |
true, false |
Hosszú sztringek csonkolása sorok megjelenítésekor. Állítsa be a false teljes sztringértékek megjelenítésére. |
Delta-tó
A következő beállítások érvényesek, amikor streamet ír egy Delta Lake-táblába a használatával format("delta"). Felülírhatja az olyan beállításokat, mint a overwriteSchema, replaceWhereés partitionOverwriteMode nem támogatottak a streamelési írásokhoz.
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
mergeSchema |
false |
true, false |
A Delta Lake táblaséma továbbfejlesztése, ha a streamelt DataFrame új oszlopokat tartalmaz. Csak a hozzáfűzési kimeneti módra vonatkozik. A sémafejlődést tartalmazó táblaséma frissítésére vonatkozik. |
userMetadata |
None | Bármilyen szöveg | Az írási művelet véglegesítési metaadataihoz hozzáfűzött felhasználó által definiált sztring. Látható a kimenetben DESCRIBE HISTORY. Egyéni metaadatokkal rendelkező gazdagító táblákra vonatkozik. |
Fájlelfoglaló
A következő beállítás a stream fájlalapú formátumokba (Parquet, JSON, CSV, ORC, szöveg) való írásakor érvényes. A formátumspecifikus beállításokért lásd a DataFrameWriter beállításait.
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
retention |
None | Egy idősztring, például 7 days vagy 24 hours |
Mennyi ideig őrzi meg a hibatűréshez és tömörítéshez használt fogadó metaadatfájlokat. Ha nincs beállítva, a metaadatfájlok határozatlan ideig megmaradnak. |
Kafka fogadó
A Kafkába való íráskor az alábbi beállítások érvényesek.
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
kafka.bootstrap.servers |
None | Sztringek vesszővel tagolt listája host:port |
Kötelező. Kafka-közvetítői host:port címek vesszővel tagolt listája. |
topic |
None | Bármilyen szöveg | A cél Kafka-témakör az összes sorhoz. Kötelező, ha a DataFrame nem tartalmaz oszlopot topic . |
kafka.* |
None | Bármely Kafka-gyártó konfigurációs értéke | Minden Olyan Kafka-gyártó konfigurációja , amelynek előtagja kafka.a . Például: kafka.compression.type. |
Memória fogadó
A következő beállítások érvényesek, amikor streameket ír a memóriafogyóba.
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
queryName |
Nincs (kötelező) | Bármilyen szöveg | Annak a memóriabeli táblának a neve, amelybe a lekérdezés ír. A memóriafogyóhoz szükséges. A használatával .queryName()is konfigurálható. |
mode |
exactlyonce |
exactlyonce, atleastonce |
Kézbesítési garancia a memóriafogyóhoz.
exactlyonce mikroköteg módot használ pontosan egyszer használt szemantikával.
atleastonce folyamatos módot használ legalább egyszer szemantikával. |
Spark-függvény beállításai
Egyes Beépített Spark SQL-függvények olyan térképet options fogadnak el, amely szabályozza az elemzési vagy szerializációs viselkedést. Adja át a beállításokat Python dict vagy Scala Map[String, String].
Example
Az alábbi példa egy JSON-oszlopot elemez a hibásan formázott rekordok elvetése közben:
Python
from pyspark.sql.functions import from_json
from pyspark.sql.types import StructType, StructField, StringType
schema = StructType([StructField("name", StringType())])
df = df.withColumn("parsed", from_json("json_col", schema, {"mode": "DROPMALFORMED"}))
Scala
import org.apache.spark.sql.functions.from_json
import org.apache.spark.sql.types._
val schema = StructType(Seq(StructField("name", StringType)))
val df = df.withColumn("parsed", from_json(col("json_col"), schema, Map("mode" -> "DROPMALFORMED")))
Avro
Az Avro-függvények ugyanazokat a beállításokat fogadják el, mint a megfelelő DataFrame-beállítások:
-
from_avroésschema_of_avrohasználja a DataFrameReader Avro beállításait. -
to_avroDataFrameWriter Avro-beállításokat használ.
Example
Az alábbi példa egy Avro-oszlopot dekódol, amelyen engedélyezve van a sémafejlődés:
Python
from pyspark.sql.functions import from_avro
df = df.withColumn("decoded", from_avro("avro_col", json_schema, {"avroSchemaEvolutionMode": "restart"}))
Scala
import org.apache.spark.sql.avro.functions.from_avro
val df = df.withColumn("decoded", from_avro(col("avro_col"), jsonSchema, Map("avroSchemaEvolutionMode" -> "restart")))
Emellett a Sémaregisztrációs adatbázis változatai from_avroto_avro a következő lehetőségeket is elfogadják:
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
schemaId |
None | Sémaazonosító egész szám | A Confluent sémaregisztrációs adatbázisából származó sémaazonosító, amelyet a sémával nem kompatibilis jsonFormatSchemasémakóddal kódolt Avro-adatok dekódolásához használhat. Csak azokra vonatkozik from_avro . |
confluent.schema.registry.* |
None | Bármely Confluent SR-ügyféltulajdonság értéke | A Confluent Sémaregisztrációs adatbázis ügyfélkonfigurációs tulajdonságai. Adjon át minden Confluent SR-ügyféltulajdonságot ezzel az előtaggal, például confluent.schema.registry.basic.auth.user.info az alapszintű hitelesítési hitelesítő adatokhoz. A sémaregisztrációs adatbázis és from_avroto_avroa . |
CSV
A CSV-függvények ugyanazokat a beállításokat fogadják el, mint a megfelelő DataFrame-beállítások:
-
from_csvésschema_of_csvhasználja a DataFrameReader CSV beállításait. -
to_csvDataFrameWriter CSV-beállításokat használ.
Example
Az alábbi példa egy egyéni elválasztóval és NULL értékkel rendelkező CSV-t olvas be:
Python
from pyspark.sql.functions import from_csv
from pyspark.sql.types import StructType, StructField, IntegerType, StringType
schema = StructType([StructField("id", IntegerType()), StructField("name", StringType())])
df = df.withColumn("parsed", from_csv("csv_col", schema, {"sep": "|", "nullValue": "N/A"}))
Scala
import org.apache.spark.sql.functions.from_csv
import org.apache.spark.sql.types._
val schema = StructType(Seq(StructField("id", IntegerType), StructField("name", StringType)))
val df = df.withColumn("parsed", from_csv(col("csv_col"), schema, Map("sep" -> "|", "nullValue" -> "N/A")))
JSON
A JSON-függvények ugyanazokat a beállításokat fogadják el, mint a megfelelő DataFrame-beállítások:
-
from_jsonésschema_of_jsonhasználja a DataFrameReader JSON-beállításait. -
to_jsonDataFrameWriter JSON-beállításokat használ.
Example
Az alábbi példa JSON-t ír, figyelmen NULL kívül hagyva a mezőket, és engedélyezve van a szép formázás:
Python
from pyspark.sql.functions import to_json
df = df.withColumn("json_str", to_json("struct_col", {"pretty": "true", "ignoreNullFields": "true"}))
Scala
import org.apache.spark.sql.functions.to_json
val df = df.withColumn("json_str", to_json(col("struct_col"), Map("pretty" -> "true", "ignoreNullFields" -> "true")))
Protobuf
from_protobuf és to_protobuf ne használjon fájlalapú DataSource-t. A Protobuf-adatok mindig bináris oszlopként vannak beolvasva és megírva ezekkel a függvényekkel. A beállításokat a rendszer a kis- és nagybetűk megkülönböztetéseként Map[String, String] adja át.
Example
Az alábbi példa egy Protobuf-oszlopot dekódol PERMISSIVE módban:
Python
from pyspark.sql.functions import from_protobuf
df = df.withColumn("decoded", from_protobuf("proto_col", "MyMessage", "/path/to/descriptor.desc",
{"mode": "PERMISSIVE", "enums.as.ints": "true"}))
Scala
import org.apache.spark.sql.protobuf.functions.from_protobuf
val df = df.withColumn("decoded", from_protobuf(col("proto_col"), "MyMessage", "/path/to/descriptor.desc",
Map("mode" -> "PERMISSIVE", "enums.as.ints" -> "true")))
A Protobuf függvények a következő lehetőségeket használják:
| Key | Alapértelmezett | Érvényes értékek | Description |
|---|---|---|---|
mode |
FAILFAST |
FAILFAST, PERMISSIVE |
Sérült rekordok kezelése. A FAILFAST kivételt dob.
PERMISSIVE a hibásan formázott mezőket null értékre állítja. A kifejezésre from_protobufvonatkozik. |
recursive.fields.max.depth |
-1 (letiltva) |
0 és 10 |
Rekurzív Protobuf-mezők maximális rekurziós mélysége. Állítsa be a 0 rekurzív mezőtámogatás kikapcsolására. A kifejezésre from_protobufvonatkozik. |
convert.any.fields.to.json |
false |
true, false |
A Protobuf-mezők Any JSON-sztringgé alakítása ahelyett, hogy egy STRUCT. A kifejezésre from_protobufvonatkozik. |
emit.default.values |
false |
true, false |
Nulla vagy alapértelmezett értékekkel rendelkező mezők kibocsátása (proto3 szemantika). Amikor falsea rendszer kihagyja az alapértelmezett értékeket tartalmazó mezőket a kimenetből. A kifejezésre from_protobufvonatkozik. |
enums.as.ints |
false |
true, false |
Az enumerálási mezők megjelenítése karakterláncok helyett egész számértékekként. A kifejezésre from_protobufvonatkozik. |
upcast.unsigned.ints |
false |
true, false |
uint32
Long
uint64
Decimal(20,0) Az egész szám túlcsordulásának megakadályozása A kifejezésre from_protobufvonatkozik. |
unwrap.primitive.wrapper.types |
false |
true, false |
A burkolótípusok (például google.protobuf és Int32Value) kibontása StringValue a megfelelő primitív Spark-típusokhoz. A kifejezésre from_protobufvonatkozik. |
retain.empty.message.types |
false |
true, false |
Meg kell-e őrizni az üres Protobuf-üzenettípusokat a kimeneti sémában egy üres oszlop beszúrásával. A kifejezésre from_protobufvonatkozik. |
schema.registry.subject |
None | Bármilyen szöveg | Sémaregisztrációs adatbázis tulajdonosának neve. A sémaregisztrációs adatbázis és from_protobufto_protobufa . |
schema.registry.address |
None | Sztring host:port |
Sémaregisztrációs adatbázis címe (gazdagép és port). A sémaregisztrációs adatbázis és from_protobufto_protobufa . |
schema.registry.protobuf.name |
None | Bármilyen szöveg | Megadja, hogy melyik Protobuf-üzenetet használja, ha a sémaregisztrációs adatbázis tárgya több üzenetet tartalmaz. Optional. |
schema.registry.schema.evolution.mode |
"restart" |
"restart", "none" |
A sémamódosítások kezelése, ha egy újabb sémaazonosítót észlel egy bejövő rekordban.
"restart" a lekérdezést egy UnknownFieldException; konfigurálási feladattal állítja be, hogy a módosítások átvétele sikertelenség esetén újrainduljon.
"none" figyelmen kívül hagyja a sémaazonosító módosításait, és elemzi az újabb rekordokat az eredeti sémával. |
confluent.schema.registry.<option> |
— | Bármely érvényes Confluent-sémaregisztrációs ügyfélbeállítás értéke | Adja át a Confluent sémaregisztrációs ügyfélbeállítást az előtag "confluent.schema.registry"használatával. Például állítsa be "confluent.schema.registry.basic.auth.credentials.source" és "USER_INFO""confluent.schema.registry.basic.auth.user.info" konfigurálja az "<KEY>:<SECRET>" alapszintű hitelesítést. |
XML
Az XML-függvények ugyanazokat a beállításokat fogadják el, mint a megfelelő DataFrame-beállítások:
-
from_xmlésschema_of_xmlhasználja a DataFrameReader XML-beállításait. -
to_xmlDataFrameWriter XML-beállításokat használ.
Example
Az alábbi példa egyéni gyökér- és sorcímkéket tartalmazó XML-fájlt ír:
Python
from pyspark.sql.functions import to_xml
df = df.withColumn("xml_str", to_xml("struct_col", {"rootTag": "records", "rowTag": "record"}))
Scala
import org.apache.spark.sql.functions.to_xml
val df = df.withColumn("xml_str", to_xml(col("struct_col"), Map("rootTag" -> "records", "rowTag" -> "record")))