Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
På den här sidan visas tillgängliga indata- och utdataalternativ för Spark-API:er som läser och skriver data.
DataFrameReader-alternativ
Använd de här alternativen med DataFrameReader.option(), DataFrameReader.options(), read_files, COPY INTO och Auto Loader för att styra hur Azure Databricks läser datafiler.
Example
I följande exempel anges multiLine till True för läsning av JSON-filer:
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)
Gemensamma
Följande alternativ gäller för alla filformat.
| Key | Standardinställning | Beskrivning |
|---|---|---|
ignoreCorruptFiles |
false |
Om du vill ignorera skadade filer. Om det är sant fortsätter Spark-jobben att köras när skadade filer påträffas och innehållet som har lästs returneras fortfarande. För COPY INTOkan du se överhoppade skadade filer som numSkippedCorruptFiles i kolumnen i operationMetrics Delta Lake-historiken. Finns i Databricks Runtime 11.3 LTS och senare. |
ignoreMissingFiles |
false för Auto Loader, true för COPY INTO (äldre) |
Om du vill ignorera filer som saknas. Om det är sant fortsätter Spark-jobben att köras när filer saknas och innehållet returneras fortfarande. Finns i Databricks Runtime 11.3 LTS och senare. |
modifiedAfter |
None | En valfri tidsstämpel som ett filter för att endast mata in filer som har en tidsstämpel för ändring efter den angivna tidsstämpeln. |
modifiedBefore |
None | En valfri tidsstämpel som ett filter för att endast mata in filer som har en ändringstidsstämpel före den angivna tidsstämpeln. |
pathGlobFilter eller fileNamePattern |
None | Ett potentiellt globmönster för att välja filer.
PATTERN Motsvarar i COPY INTO (äldre).
fileNamePattern kan användas i read_files. |
recursiveFileLookup |
false |
När truesöker det här alternativet igenom kapslade kataloger även om deras namn inte följer ett namngivningsschema för partitioner som date=2019-07-01. |
Avro
| Key | Standardinställning | Beskrivning |
|---|---|---|
avroSchema |
None | Valfritt schema som tillhandahålls av en användare i Avro-format. När du läser Avro kan det här alternativet ställas in på ett utvecklat schema som är kompatibelt men som skiljer sig från det faktiska Avro-schemat. Deserialiseringsschemat överensstämmer med det utvecklade schemat. Om du till exempel anger ett utvecklat schema som innehåller ytterligare en kolumn med ett standardvärde innehåller läsresultatet även den nya kolumnen. |
avroSchemaEvolutionMode |
none |
Hantera schemautveckling när du använder ett schemaregister. Giltiga värden: none (ignorera schemaändringar och fortsätt jobbet), restart (när schemaändringar identifieras, genererar en UnknownFieldException och kräver en omstart av jobbet). |
datetimeRebaseMode |
LEGACY |
Styr ombaseringen av DATE- och TIMESTAMP-värdena mellan julianska och proleptiska gregorianska kalendrar. Giltiga värden: EXCEPTION, LEGACYoch CORRECTED. |
enableStableIdentifiersForUnionType |
false |
Om du vill använda stabila fältnamn för Avro Union-typer. När det är aktiverat härleds fältnamn för unionstyp från deras typnamn i gemener (till exempel member_int, member_string). Utlöser ett undantag om två typnamn är identiska efter nedsänkning. |
mergeSchema |
false |
Om schemat ska härledas mellan flera filer och om schemat för varje fil ska sammanfogas.
mergeSchema för Avro lättar inte på kraven för datatyper. |
mode |
FAILFAST |
Parsningsläge för hantering av skadade poster. Giltiga värden: FAILFAST (utlöser ett undantag), PERMISSIVE (anger felaktiga fält till null) DROPMALFORMED (släpper ogiltiga poster i tysthet). |
readerCaseSensitive |
true |
Anger hur skiftlägeskänslighet hanteras när rescuedDataColumn är aktiverat. Om det är sant kan du rädda de datakolumner vars namn skiljer sig från schemat. När det är falskt läser du data på ett skiftlägesokänsligt sätt. |
recursiveFieldMaxDepth |
None | Det maximala rekursionsdjupet för rekursiva Avro-fält. Ange till för 1 att trunkera alla rekursiva fält för 2 att tillåta en rekursionsnivå och så vidare upp till 15. När oet eller 0, tillåts inte rekursiva fält. Giltiga värden: 0 till 15. |
rescuedDataColumn |
None | Huruvida man ska samla in all data som inte kan parsas på grund av datatypbortfall och schemafel (inklusive kolumnens hölje) till en separat kolumn. Den här kolumnen ingår som standard när du använder Auto Loader.COPY INTO (äldre) stöder inte den räddade datakolumnen eftersom du inte kan ange schemat manuellt med hjälp av COPY INTO. Databricks rekommenderar att du använder Auto Loader för de flesta inmatningsscenarier.Mer information finns i Vad är den räddade datakolumnen?. |
stableIdentifierPrefixForUnionType |
member_ |
Prefixet som ska användas för stabila fältnamn av uniontyp när enableStableIdentifiersForUnionType=true. |
CSV
| Key | Standardinställning | Beskrivning |
|---|---|---|
badRecordsPath |
None | Sökvägen för att lagra filer för registrering av information om felaktiga CSV-poster. |
charToEscapeQuoteEscaping |
\0 |
Tecknet som används för att undkomma det tecken som används för att undvika citattecken. Till exempel för följande post: [ " a\\", b ]
|
columnNameOfCorruptRecord |
_corrupt_record |
Stöd finns för Auto Loader. Stöds inte för COPY INTO (äldre).Kolumnen för lagring av dataposter som är felaktiga och inte kan parsas. Om mode för parsning anges som DROPMALFORMED, kommer den här kolumnen att vara tom. |
comment |
\0 |
Definierar det tecken som representerar en radkommentar när det hittas i början av en textrad. Använd '\0' för att inaktivera överhoppning av kommentarer. |
dateFormat |
yyyy-MM-dd |
Formatet för parsning av datumsträngar. |
emptyValue |
Tom sträng | Strängrepresentation av ett tomt värde. |
enableDateTimeParsingFallback |
false |
Om du vill återgå till det äldre datum- och tidsstämpelparseringsbeteendet när ett värde inte kan parsas med det angivna formatet. När falseskapar parsningsfel ett fel eller skapar null beroende på mode. |
encoding eller charset |
UTF-8 |
Namnet på kodningen av CSV-filerna. Se java.nio.charset.Charset listan med alternativ.
UTF-16 och UTF-32 kan inte användas när multiline är true. |
enforceSchema |
true |
Huruvida man ska tvinga fram tillämpningen av det angivna eller härledda schemat på CSV-filerna. Om alternativet är aktiverat ignoreras rubrikerna för CSV-filer. Det här alternativet ignoreras som standard när du använder Auto Loader för att rädda data och tillåta schemautveckling. |
escape |
\ |
Escape-tecknet som ska användas vid parsning av data. |
extension |
csv |
Det förväntade filnamnstillägget. Filer utan det här tillägget filtreras bort under läsningar. |
failOnUnknownFields |
false |
Om csv-posten ska misslyckas innehåller kolumner som inte finns i schemat. När false, tas okända kolumner tyst bort eller räddas beroende på rescuedDataColumn. |
failOnWidenedFields |
false |
Om du vill misslyckas när ett fältvärde inte kan parsas som den deklarerade schematypen utan breddning. När false, räddas typbreddade värden tyst beroende på rescuedDataColumn. Inställningen failOnUnknownFields=true kan maskera effekterna av det här alternativet. |
header |
false |
Om CSV-filerna innehåller ett huvud. Auto Loader förutsätter att filer har rubriker när schemat härleds. |
ignoreLeadingWhiteSpace |
false |
Om du vill ignorera inledande blanksteg för varje parsat värde. |
ignoreTrailingWhiteSpace |
false |
Huruvida avslutande blanksteg ska ignoreras för varje analyserat värde. |
inferSchema |
false |
Om du vill härleda datatyperna för de parsade CSV-posterna eller anta att alla kolumner är av StringType. Kräver en ytterligare genomgång av data om det är inställt på true. Använd i stället cloudFiles.inferColumnTypes för Auto Loader. |
inputBufferSize |
1048576 (1 MB) |
Buffertstorleken i byte för CSV-parsern. Användbart för att justera minnesanvändningen vid parsning av stora CSV-filer. Giltiga värden: positiva heltal. |
lineSep |
Ingen, som omfattar \r, \r\noch \n |
En sträng mellan två CSV-poster i följd. |
locale |
US |
En java.util.Locale identifikator. Påverkar standarddatum, tidsstämpel och decimalparsning i CSV. |
maxCharsPerColumn |
-1 |
Maximalt antal tecken som förväntas från ett värde att parsa. Kan användas för att undvika minnesfel. Standardvärdet är -1, vilket innebär obegränsat. Giltiga värden: positiva heltal eller -1 obegränsat. |
maxColumns |
20480 |
Den hårda begränsningen för hur många kolumner en datapost kan ha. Giltiga värden: positiva heltal. |
mergeSchema |
false |
Om schemat ska härledas mellan flera filer och om schemat för varje fil ska sammanfogas. Aktiverad som standard för Auto Loader när schemat härleds. |
mode |
PERMISSIVE |
Parserläge kring hantering av felaktiga poster. Giltiga värden: PERMISSIVE, DROPMALFORMED, FAILFAST. |
multiLine |
false |
Om CSV-posterna sträcker sig över flera rader. |
nanValue |
NaN |
Strängrepresentationen av ett värde som inte är ett tal vid parsning FloatType och DoubleType kolumner. |
negativeInf |
-Inf |
Strängrepresentationen av negativ oändlighet vid parsning av kolumnerna FloatType eller DoubleType. |
nullValue |
Tom sträng | Strängrepresentation av ett null-värde. |
parserCaseSensitive (inaktuell) |
false |
När du läser filer, överväg om du vill justera kolumnerna som deklarerats i rubriken så att de matchar schemat, med hänsyn till skiftlägeskänslighet. Detta är true som standard för Auto Loader. Kolumner som skiljer sig åt i skiftläge kommer att återställas i rescuedDataColumn om den är aktiverad. Det här alternativet har blivit inaktuellt till förmån för readerCaseSensitive. |
positiveInf |
Inf |
Strängrepresentationen av den positiva oändligheten vid tolkningen av FloatType eller DoubleType-kolumnerna. |
preferDate |
true |
Försöker härleda strängar som datum i stället för tidsstämpel när det är möjligt. Du måste också använda schemainferens, antingen genom att aktivera inferSchema eller använda cloudFiles.inferColumnTypes med Auto Loader. |
quote |
" |
Tecknet som används för att ta bort värden där fältgränsaren är en del av värdet. |
readerCaseSensitive |
true |
Anger hur skiftlägeskänslighet hanteras när rescuedDataColumn är aktiverat. Om det är sant kan du rädda de datakolumner vars namn skiljer sig från schemat. När det är falskt läser du data på ett skiftlägesokänsligt sätt. |
rescuedDataColumn |
None | Huruvida man ska samla in all data som inte kan parsas på grund av datatypbortfall och schemafel (inklusive kolumnens hölje) till en separat kolumn. Den här kolumnen ingår som standard när du använder Auto Loader. Mer information finns i Vad är den räddade datakolumnen?.COPY INTO (äldre) stöder inte den räddade datakolumnen eftersom du inte kan ange schemat manuellt med hjälp av COPY INTO. Databricks rekommenderar att du använder Auto Loader för de flesta inmatningsscenarier. |
sep eller delimiter |
, |
Avgränsarsträngen mellan kolumner. |
singleVariantColumn |
None | När den är inställd på ett kolumnnamn läser hela CSV-posten till en enda VariantType kolumn med det namnet i stället för att parsa varje fält i sin egen kolumn. Kräver header=true. |
skipRows |
0 |
Antalet rader från början av CSV-filen som ska ignoreras (inklusive kommenterade och tomma rader). Om header är sant blir rubriken den första förbigångna och okommenterade raden. Giltiga värden: positiva heltal eller 0. |
timeFormat |
HH:mm:ss |
Formatet för parsning av TimeType kolumnvärden. |
timestampFormat |
yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] |
Formatet för att parsa tidsstämpelsträngar. |
timestampNTZFormat |
yyyy-MM-dd'T'HH:mm:ss[.SSS] |
Formatet för parsning av tidsstämpel utan tidszonssträngar (TimestampNTZType). |
timeZone |
None | Vid parsning av tidsstämplar och datum, att använda java.time.ZoneId. |
unescapedQuoteHandling |
STOP_AT_DELIMITER |
Strategin för hantering av okapslade citattecken. Tillåtna alternativ:
|
Excel
| Key | Standardinställning | Beskrivning |
|---|---|---|
dataAddress |
None | Cellområdet som ska läsas in Excel syntax. Om det utelämnas läser alla giltiga celler från det första bladet. Använd "SheetName!C5:H10" för att läsa ett intervall från ett namngivet blad, "C5:H10" för att läsa ett intervall från det första bladet eller "SheetName" för att läsa alla data från ett visst blad. |
headerRows |
0 |
Antal inledande rader som ska användas som kolumnnamnrubriker. När dataAddress anges gäller detta inom cellområdet. När 0genereras kolumnnamn automatiskt som _c1, _c2, _c3osv. Giltiga värden: 0, 1. |
ignoreMissingSheet |
false |
Om du vill hoppa över filer som inte innehåller bladet som anges av dataAddress. När falseutlöses ett fel om en fil saknar det begärda bladet. Gäller endast när ett bladnamn anges i dataAddress. Giltiga värden: true, false. |
includePhoneticRuns |
false |
Om du vill inkludera fonetiska anteckningar (till exempel pinyin eller furigana) sammanfogade till cellsträngsvärden när du läser XLSX-filer. Giltiga värden: true, false. |
operation |
readSheet |
Åtgärden som ska utföras på arbetsboken Excel. Giltiga värden: readSheet (läser data från ett blad), listSheets (returnerar en struct med fält sheetIndex: long och sheetName: String för varje blad). |
timestampNTZFormat |
yyyy-MM-dd'T'HH:mm:ss[.SSS] |
Anpassad formatsträng för tidsstämpel-utan-tidszonsvärden som lagras som strängar i Excel. Anpassade datumformat följer formaten i Datetime-mönster. |
dateFormat |
yyyy-MM-dd |
Anpassad formatsträng för strängvärden som läse som Date. Anpassade datumformat följer formaten i Datetime-mönster. |
JSON
| Key | Standardinställning | Beskrivning |
|---|---|---|
allowBackslashEscapingAnyCharacter |
false |
Huruvida man ska tillåta backslash att maskera vilket tecken som helst som följer det. Om det inte är aktiverat kan endast tecken som uttryckligen anges av JSON-specifikationen undantagas. |
allowComments |
false |
Om du vill tillåta användning av Java-, C- och C++-formatkommentarer ('/', '*'och '//' sorter) inom parsat innehåll eller inte. |
allowNonNumericNumbers |
true |
Om du vill tillåta uppsättningen med NaN-token (NaN) som giltiga flytande talvärden. |
allowNumericLeadingZeros |
false |
Huruvida man ska tillåta att heltal börjar med ytterligare (ignorerbara) nollor (till exempel 000001). |
allowSingleQuotes |
true |
Om du vill tillåta användning av enkla citattecken (apostrofer, tecken '\') för att citera strängar (namn och strängvärden). |
allowUnquotedControlChars |
false |
Om JSON-strängar ska tillåtas innehålla icke kapslade kontrolltecken (ASCII-tecken med ett värde som är mindre än 32, inklusive flik- och radmatningstecken) eller inte. |
allowUnquotedFieldNames |
false |
Om du vill tillåta användning av ociterade fältnamn, som tillåts av JavaScript, men inte av JSON-specifikationen. |
alternateVariantEncoding |
None | Kodningen som används för Variant-värden i JSON-källan. Ange till för att Z85 avkoda variantvärden som har base85-kodats i stället för lagrade som infogad JSON. |
badRecordsPath |
None | Sökvägen för att lagra filer som innehåller information om felaktiga JSON-poster. Att använda alternativet badRecordsPath i en filbaserad datakälla har följande begränsningar:
|
columnNameOfCorruptRecord |
_corrupt_record |
Kolumnen för lagring av dataposter som är felaktiga och inte kan parsas. Om mode för parsning anges som DROPMALFORMED, kommer den här kolumnen att vara tom. |
dateFormat |
yyyy-MM-dd |
Formatet för parsning av datumsträngar. |
dropFieldIfAllNull |
false |
Om du vill ignorera kolumner med alla null-värden eller tomma matriser och structs under schemainferens. |
encoding eller charset |
UTF-8 |
Namnet på kodningen av JSON-filerna. Se java.nio.charset.Charset för lista över alternativ. Du kan inte använda UTF-16 och UTF-32 när multiline är true. |
inferTimestamp |
false |
Huruvida man ska försöka härleda tidsstämpelsträngar som en TimestampType. Schemainferensen kan ta märkbart längre tid när det är inställt på true. Du måste aktivera cloudFiles.inferColumnTypes för att kunna använda det med Auto Loader. |
lineSep |
Ingen, som omfattar \r, \r\noch \n |
En sträng mellan två JSON-poster som följer på varandra. |
locale |
US |
En java.util.Locale identifikator. Påverkar standarddatum, tidsstämpel och decimalparsning i JSON. |
maxNestingDepth |
500 |
Det maximala tillåtna kapslingsdjupet för JSON-objekt och matriser. Öka det här värdet för djupt kapslade dokument. Giltiga värden: positiva heltal. |
maxNumLen |
1000 |
Den maximala längden på antal token i JSON-indata. Öka det här värdet för JSON med stora numeriska literaler. Giltiga värden: positiva heltal. |
maxStringLen |
Obegränsad | Den maximala längden på strängvärden i JSON-indata. Ange för att begränsa minnesanvändningen vid parsning av JSON med stora strängar. Giltiga värden: positiva heltal. |
mode |
PERMISSIVE |
Parserläge kring hantering av felaktiga poster. Giltiga värden: PERMISSIVE, DROPMALFORMED, FAILFAST. |
multiLine |
false |
Om JSON-posterna sträcker sig över flera rader. |
prefersDecimal |
false |
Försöker tolka strängar som DecimalType i stället för typen float eller dubbel när så är möjligt. Du måste också använda schemainferens, antingen genom att aktivera inferSchema eller använda cloudFiles.inferColumnTypes med Auto Loader. |
primitivesAsString |
false |
Huruvida man ska härleda primitiva typer som tal och booleska värden som StringType. |
readerCaseSensitive |
true |
Anger hur skiftlägeskänslighet hanteras när rescuedDataColumn är aktiverat. Om det är sant kan du rädda de datakolumner vars namn skiljer sig från schemat. När det är falskt läser du data på ett skiftlägesokänsligt sätt. Tillgänglig i Databricks Runtime 13.3 och senare. |
rescuedDataColumn |
None | Om du vill samla in alla data som inte kan parsas på grund av ett matchningsfel av datatyp eller schemamatchning (inklusive kolumnhölje) till en separat kolumn. Den här kolumnen ingår som standard när du använder Auto Loader. Mer information finns i Vad är den räddade datakolumnen?.COPY INTO (äldre) stöder inte den räddade datakolumnen eftersom du inte kan ange schemat manuellt med hjälp av COPY INTO. Databricks rekommenderar att du använder Auto Loader för de flesta inmatningsscenarier. |
singleVariantColumn |
None | Om du vill mata in hela JSON-dokumentet, parsat i en enskild variantkolumn med den angivna strängen som kolumnens namn. Om de inte anges matas JSON-fälten in i sina egna kolumner. Giltiga värden: valfri sträng. |
timestampFormat |
yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] |
Formatet för att parsa tidsstämpelsträngar. |
timestampNTZFormat |
yyyy-MM-dd'T'HH:mm:ss[.SSS] |
Formatet för parsning av tidsstämpel utan tidszonssträngar (TimestampNTZType). |
timeZone |
None | Vid parsning av tidsstämplar och datum, att använda java.time.ZoneId. |
upgradeExceptionAsBadRecord |
false |
Om du vill behandla typuppgraderingsfel (till exempel när ett värde inte kan utvidgas till den deklarerade kolumntypen) som felaktiga poster i stället för att utlösa ett undantag. |
Kafka
Den fullständiga listan över Alternativ för Kafka-läsare finns i DataStreamReader Kafka-alternativ. Följande alternativ gäller endast för batchläsningar med .spark.read.format("kafka")
| Key | Standardinställning | Beskrivning |
|---|---|---|
endingOffsets |
latest |
Var du kan sluta läsa. Giltiga värden: latest, eller en JSON-sträng med förskjutningar för varje partition, till exempel {"topicA":{"0":50,"1":-1}}.I JSON-strängen -1 är den senaste förskjutningen.
-2, som är den tidigaste förskjutningen, tillåts inte som en slutförskjutning. |
endingOffsetsByTimestamp |
None | Slutförskjutningar per partition anges som tidsstämplar i millisekunder. Giltiga värden: en JSON-sträng med tidsstämplar för varje partition, till exempel {"topicA":{"0":2000,"1":3000}}. |
endingTimestamp |
None | Global sluttidsstämpel i millisekunder som tillämpas på alla partitioner. Giltiga värden: icke-negativa heltal. |
ORC
| Key | Standardinställning | Beskrivning |
|---|---|---|
mergeSchema |
false |
Om schemat ska härledas mellan flera filer och om schemat för varje fil ska sammanfogas. |
Parkett
| Key | Standardinställning | Beskrivning |
|---|---|---|
datetimeRebaseMode |
LEGACY |
Styr ombaseringen av DATE- och TIMESTAMP-värdena mellan julianska och proleptiska gregorianska kalendrar. Giltiga värden: EXCEPTION, LEGACYoch CORRECTED. |
int96RebaseMode |
LEGACY |
Styr ombaseringen av INT96-tidsstämpelvärdena mellan julianska och proleptiska gregorianska kalendrar. Giltiga värden: EXCEPTION, LEGACYoch CORRECTED. |
mergeSchema |
false |
Om schemat ska härledas mellan flera filer och om schemat för varje fil ska sammanfogas. |
readerCaseSensitive |
true |
Anger hur skiftlägeskänslighet hanteras när rescuedDataColumn är aktiverat. Om det är sant kan du rädda de datakolumner vars namn skiljer sig från schemat. När det är falskt läser du data på ett skiftlägesokänsligt sätt. |
rescuedDataColumn |
None | Huruvida man ska samla in all data som inte kan parsas på grund av datatypbortfall och schemafel (inklusive kolumnens hölje) till en separat kolumn. Den här kolumnen ingår som standard när du använder Auto Loader. Mer information finns i Vad är den räddade datakolumnen?.COPY INTO (äldre) stöder inte den räddade datakolumnen eftersom du inte kan ange schemat manuellt med hjälp av COPY INTO. Databricks rekommenderar att du använder Auto Loader för de flesta inmatningsscenarier. |
Tillståndslager
Använd de här alternativen med spark.read.format("statestore") eller tabellvärdesfunktionen read_statestore för att läsa tillståndsdata för strukturerad direktuppspelning. Se Läsa information om status för strukturerad direktuppspelning.
| Key | Standardinställning | Beskrivning |
|---|---|---|
batchId |
Senaste batch-ID | Målbatchen som ska läsas från. Använd för att köra frågor mot ett tidigare tillstånd för frågan. Batchen måste kommitteras men inte rensas ännu. Giltiga värden: icke-negativa heltal. |
operatorId |
0 |
Måloperatorn som ska läsas från. Använd när frågan har flera tillståndskänsliga operatorer. Giltiga värden: icke-negativa heltal. |
storeName |
DEFAULT |
Namnet på måltillståndsarkivet som ska läsas från. Använd när den tillståndskänsliga operatorn har flera tillståndslagerinstanser. Du måste ange antingen storeName eller joinSide för en stream-stream-koppling, men inte båda. Giltiga värden: valfri sträng. |
joinSide |
None | Målsidan att läsa från för en stream-stream-koppling. Du måste ange antingen storeName eller joinSide för en stream-stream-koppling, men inte båda. Giltiga värden: left, right. |
snapshotStartBatchId |
None | Batch-ID:t för ögonblicksbilden som ska användas som startpunkt när du läser tillstånd. Läsaren återskapar tillståndet genom att spela upp ändringar från den här ögonblicksbilden till .batchId Användbart när en ögonblicksbild är skadad. Måste anges tillsammans med snapshotPartitionId. Det går inte att använda med readChangeFeed. Stöder DET HDFS-baserade tillståndsarkivet och RocksDB-tillståndsarkivet med kontrollpunkter för ändringslogg aktiverat. Finns i Databricks Runtime 15.4 LTS och senare. Giltiga värden: icke-negativa heltal. |
snapshotPartitionId |
None | Om det anges läser frågan bara den här partitionen. Måste anges tillsammans med snapshotStartBatchId. Det går inte att använda med readChangeFeed. Finns i Databricks Runtime 15.4 LTS och senare. Giltiga värden: icke-negativa heltal. |
readChangeFeed |
false |
När truereturnerar tillståndsändringar i ett angivet batchintervall mellan changeStartBatchId och changeEndBatchId. Kräver changeStartBatchId. Det går inte att använda med joinSide, batchId, snapshotStartBatchIdeller snapshotPartitionId. Finns i Databricks Runtime 16.4 LTS och senare. Giltiga värden: true, false.Mer information finns i Read Structured Streaming state changes (Läsa ändringar av status för strukturerad direktuppspelning). |
changeStartBatchId |
None | Start batch-ID för ändringsflödesintervallet. Krävs när readChangeFeed är true. Gäller endast när readChangeFeed är inställt på true. Finns i Databricks Runtime 16.4 LTS och senare. Giltiga värden: icke-negativa heltal. |
changeEndBatchId |
Senaste batch-ID | Slut batch-ID för ändringsflödesintervallet. Måste vara större än eller lika med changeStartBatchId. Gäller endast när readChangeFeed är inställt på true. Finns i Databricks Runtime 16.4 LTS och senare. Giltiga värden: icke-negativa heltal. |
stateVarName |
None | Namnet på tillståndsvariabeln som ska läsas. Namnet på tillståndsvariabeln är det unika namnet på varje variabel i init funktionen för en StatefulProcessor som används av operatorn transformWithState . Krävs när du använder operatorn transformWithState . Finns i Databricks Runtime 16.4 LTS och senare. Giltiga värden: valfri sträng. |
readRegisteredTimers |
false |
När trueläser läser registrerade timers som används av operatorn transformWithState . Gäller endast för operatorn transformWithState . Finns i Databricks Runtime 16.4 LTS och senare. Giltiga värden: true, false. |
flattenCollectionTypes |
true |
När trueplattar du ut posterna som returneras för map- och listtillståndsvariabler. När falsereturnerar poster som en Spark SQL Array eller Map. Gäller endast för operatorn transformWithState . Finns i Databricks Runtime 16.4 LTS och senare. Giltiga värden: true, false. |
Text
| Key | Standardinställning | Beskrivning |
|---|---|---|
encoding |
UTF-8 |
Namnet på kodningen av TEXT-filradsavgränsaren. En lista över alternativ finns i java.nio.charset.Charset. Innehållet i filen påverkas inte av det här alternativet och läses as-is. |
lineSep |
Ingen, som omfattar \r, \r\n och \n |
En sträng mellan två på varandra följande TEXT-poster. |
wholeText |
false |
Om en fil ska läsas som en enda post. |
XML
| Key | Standardinställning | Description |
|---|---|---|
rowTag |
None | Radtaggen för XML-filerna som ska behandlas som en rad. I xml-exemplet <books> <book><book>...<books>är booklämpligt värde . Det här är ett obligatoriskt alternativ. |
samplingRatio |
1.0 |
Definierar en bråkdel av rader som används för schemainferens. Inbyggda XML-funktioner ignorerar det här alternativet. Giltiga värden: 0.0 till 1.0. |
excludeAttribute |
false |
Om du vill exkludera attribut i element. |
mode |
None | Metod för att hantera skadade poster under parsing.
PERMISSIVE: För skadade poster placerar du den skadade strängen i ett fält som konfigurerats av columnNameOfCorruptRecord, och konfigurerar skadade fält till null. Om du vill behålla korrupta poster kan du ange ett fält av typen string med namnet columnNameOfCorruptRecord i ett användardefinierat schema. Om ett schema inte har fältet tas skadade poster bort under parsningen. När du härleder ett schema lägger parsern implicit till ett columnNameOfCorruptRecord fält i ett utdataschema.
DROPMALFORMED: Ignorerar skadade registerposter. Det här läget stöds inte för inbyggda XML-funktioner.
FAILFAST: Utlöser ett undantag om parsern möter korrupta register. |
inferSchema |
true |
Om trueförsöker du härleda en lämplig typ för varje resulterande DataFrame-kolumn. Om falseär alla resulterande kolumner av string typen . Inbyggda XML-funktioner ignorerar det här alternativet. |
columnNameOfCorruptRecord |
spark.sql.columnNameOfCorruptRecord |
Tillåter att du byter namn på det nya fältet som innehåller en felaktigt formaterad sträng som skapats av PERMISSIVE läget. |
attributePrefix |
None | Prefixet för attribut för att skilja attribut från element. Det här är prefixet för fältnamn. Standard är _. Kan vara tomt för läsning av XML, men inte för skrivning. Gäller även för XML-alternativ för DataFrameWriter. |
valueTag |
_VALUE |
Taggen som används för teckendata i element som även har attribut eller underelement. Användaren kan ange fältet valueTag i schemat eller så läggs det till automatiskt under schemainferensen när teckendata finns i element med andra element eller attribut. Gäller även för XML-alternativ för DataFrameWriter. |
encoding |
UTF-8 |
För läsning avkodar XML-filerna efter den angivna kodningstypen. För skrivning anger kodning (teckenuppsättning) för sparade XML-filer. Inbyggda XML-funktioner ignorerar det här alternativet. Gäller även för XML-alternativ för DataFrameWriter. |
ignoreSurroundingSpaces |
true |
Om blanksteg som omger värden måste hoppas över. Teckendata som endast innehåller blanksteg ignoreras. |
rowValidationXSDPath |
None | Sökväg till en valfri XSD-fil som används för att verifiera XML för varje rad individuellt. Rader som inte kan verifieras behandlas som parsningsfel. XSD påverkar inte schemat, oavsett om det tillhandahålls eller härleds. |
ignoreNamespace |
false |
Om trueignoreras namnrymdernas prefix för XML-element och attribut. Taggar <abc:author> och <def:author> behandlas, till exempel, som om båda bara är <author>. Det går inte att ignorera namnrymder på elementet rowTag, endast dess läsbara underordnade. XML-parsning är inte namnområdesmedveten även om false. |
timestampFormat |
yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] |
Anpassad tidsstämpelformatsträng som följer datetime-mönsterformatet . Detta gäller för timestamp typ. Gäller även för XML-alternativ för DataFrameWriter. |
timestampNTZFormat |
yyyy-MM-dd'T'HH:mm:ss[.SSS] |
Anpassad formatsträng för tidsstämpel utan tidszon som följer datetime-mönsterformatet. Detta gäller för timestampNTZType-typen. Gäller även för XML-alternativ för DataFrameWriter. |
dateFormat |
yyyy-MM-dd |
Anpassad datumformatsträng som följer datetime-mönsterformatet. Detta gäller för datumtyp. Gäller även för XML-alternativ för DataFrameWriter. |
locale |
en-US |
Anger en platsinställning som en språktagg i IETF BCP 47-format. Används till exempel locale vid parsning av datum och tidsstämplar. |
nullValue |
sträng null |
Anger strängrepresentationen av ett null-värde. När detta är nullskriver parsern inte attribut och element för fält. Gäller även för XML-alternativ för DataFrameWriter. |
readerCaseSensitive |
true |
Anger skiftlägeskänslighetsbeteendet när rescuedDataColumn är aktiverat. Om det är sant kan du rädda de datakolumner vars namn skiljer sig från schemat. När det är falskt läser du data på ett skiftlägesokänsligt sätt. |
rescuedDataColumn |
None | Om du vill samla in alla data som inte kan parsas på grund av ett matchningsfel av datatyp och schemamatchning (inklusive kolumnhölje) till en separat kolumn. Den här kolumnen ingår som standard när du använder Auto Loader. Mer information finns i Vad är den räddade datakolumnen?.
COPY INTO (äldre) stöder inte den räddade datakolumnen eftersom du inte kan ange schemat manuellt med hjälp av COPY INTO. Databricks rekommenderar att du använder Auto Loader för de flesta inmatningsscenarier. |
singleVariantColumn |
none |
Anger namnet på den enskilda variantkolumnen. Om det här alternativet anges för läsning parsar du hela XML-posten i en enskild variantkolumn med det angivna alternativsträngsvärdet som kolumnens namn. Om det här alternativet anges för skrivning, skriv värdet för den enda kolumnen Variant till XML-filer. Gäller även för XML-alternativ för DataFrameWriter. |
useLegacyXMLParser |
true |
Om du vill använda den äldre XML-parsern. Den äldre parsern har mindre strikt validering för felaktigt innehåll men är mindre minneseffektiv. Ange till för att false välja den striktare standardparsern. |
wildcardColName |
xs_any |
Kolumnnamnet som används för att avbilda XML-element som matchar jokertecknet (xs:any) schemaelementet. Det går inte att använda tillsammans med rescuedDataColumn. |
DataStreamReader-alternativ
Använd dessa alternativ med DataStreamReader.option() för att konfigurera strömmande läsningar från Delta Lake-tabeller och andra filbaserade källor.
Filformatalternativ (JSON, CSV, Parquet och andra) finns i DataFrameReader-alternativ.
Alternativ för automatisk inläsning (cloudFiles.*) finns i Automatisk inläsning.
Example
I följande exempel anges maxFilesPerTrigger till 10 för en Delta Lake-tabellström:
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")
Gemensamma
Följande alternativ gäller för Delta Lake-tabeller och andra filbaserade strömningskällor.
| Key | Standardinställning | Description |
|---|---|---|
cleanSource |
off |
Hantera källfiler när de har bearbetats av dataströmmen. Giltiga värden: off (ingen åtgärd), delete (ta bort källfilen permanent) archive (flytta till sourceArchiveDir). När värdet archiveär måste sourceArchiveDir du också ange . Gäller inte för strömning av Delta Lake-tabeller. |
fileNameOnly |
false |
Om du bara vill identifiera redan bearbetade filer efter filnamn i stället för med en fullständig sökväg. När truebehandlas filer på olika sökvägar med samma filnamn som samma fil och bearbetas inte på nytt. Gäller inte för strömning av Delta Lake-tabeller. |
latestFirst |
false |
Om de senast ändrade filerna ska bearbetas först i varje mikrobatch. Användbart när du vill bearbeta de senaste data så snabbt som möjligt. När true och maxFilesPerTrigger eller maxBytesPerTrigger har angetts maxFileAge ignoreras. Gäller inte för strömning av Delta Lake-tabeller. |
maxBytesPerTrigger |
None | Mjukt maxvärde för mängden data som bearbetas för varje mikrobatch. En batch kan bearbeta mer än gränsen om den minsta indataenheten överskrider den. När de används tillsammans med maxFilesPerTriggerbearbetar mikrobatchdata tills någon av gränserna har nåtts först. Giltiga värden: positiva heltal.Använd i stället cloudFiles.maxBytesPerTrigger för Auto Loader. Se Vanliga. |
maxCachedFiles |
10000 |
Maximalt antal obearbetade filer som ska cachelagrats för efterföljande mikrobatch. Ställ in på för att 0 inaktivera cachelagring. Öka det här värdet när källkatalogen innehåller många nya filer för varje utlösare. Gäller inte för strömning av Delta Lake-tabeller. Giltiga värden: positiva heltal eller 0. |
maxFileAge |
7d |
Maximal ålder för filer som övervägs för bearbetning, i förhållande till tidsstämpeln för den senast ändrade filen i stället för den aktuella systemtiden. Filer som är äldre än det här tröskelvärdet ignoreras. Accepterar varaktighetssträngar som 7d eller 4h. Ignoreras när latestFirst är true och maxFilesPerTrigger eller maxBytesPerTrigger har angetts. Gäller inte för strömning av Delta Lake-tabeller. |
maxFilesPerTrigger |
1000 för Delta Lake och Auto Loader. Inget maxvärde för andra filbaserade källor. |
Övre gräns för antalet nya filer som bearbetas i varje mikrobatch. När de används tillsammans med maxBytesPerTriggerbearbetar mikrobatchdata tills någon av gränserna har nåtts först. Giltiga värden: positiva heltal.Använd i stället cloudFiles.maxFilesPerTrigger för Auto Loader. Se Vanliga. |
sourceArchiveDir |
None | Sökväg till arkivkatalogen när cleanSource är inställd på archive. Källfiler flyttas till den här sökvägen efter bearbetningen, vilket bevarar deras relativa katalogstruktur. Gäller inte för strömning av Delta Lake-tabeller. |
Automatisk inläsning
Använd de här alternativen med cloudFiles källan för att konfigurera automatisk inläsning för strömmande inmatning från molnlagring. Alternativ som är specifika för cloudFiles källan är prefix med cloudFiles för att hålla dem i ett separat namnområde från andra källalternativ för strukturerad direktuppspelning .
Gemensamma
| Key | Standardinställning | Description |
|---|---|---|
cloudFiles.allowOverwrites |
false |
Om du vill tillåta ändringar i indatakatalogfilen för att skriva över befintliga data. För konfigurationsvarningar, se Bearbetar autoinläsaren filen igen när filen läggs till eller skrivs över?. |
cloudFiles.backfillInterval |
None | Automatisk inläsning kan utlösa asynkrona återfyllningar med ett visst intervall. Till exempel 1 day för att återfylla dagligen eller 1 week till återfyllnad varje vecka. Mer information finns i Utlösa vanliga återfyllnad med cloudFiles.backfillInterval.Använd inte när cloudFiles.useManagedFileEvents är inställt på true. |
cloudFiles.cleanSource |
OFF |
Om bearbetade filer ska tas bort automatiskt från indatakatalogen. När värdet är ( OFF standard) tas inga filer bort.När värdet är inställt på DELETEtar autoinläsaren bort filer automatiskt 30 dagar efter att de har bearbetats. För att göra detta måste autoinläsaren ha skrivbehörighet till källkatalogen.När värdet är inställt MOVEpå flyttar Auto Loader automatiskt filer till den angivna platsen inom cloudFiles.cleanSource.moveDestination 30 dagar efter att de har bearbetats. För att göra detta måste autoinläsaren ha skrivbehörighet till källkatalogen samt till flyttplatsen.En fil betraktas som bearbetad när den har ett värde som inte är null för commit_time i resultatet av cloud_files_state funktionen table-valued. Se cloud_files_state tabellvärdesfunktion. Den ytterligare 30-dagars väntan efter bearbetningen kan konfigureras med .cloudFiles.cleanSource.retentionDurationGranska följande överväganden innan du aktiverar cloudFiles.cleanSource:
Tillgänglig i Databricks Runtime 16.4 och senare. |
cloudFiles.cleanSource.retentionDuration |
30 days |
Tid att vänta innan bearbetade filer blir kandidater för arkivering med cleanSource. Måste vara längre än 7 dagar för DELETE. Ingen minsta begränsning för MOVE.Värdet är en CalendarInterval-sträng . Till exempel "14 days", "30 days", "2 weeks", eller "1 month".Tillgänglig i Databricks Runtime 16.4 och senare. |
cloudFiles.cleanSource.moveDestination |
None | Sökväg för att arkivera bearbetade filer när cloudFiles.cleanSource är inställt på MOVE. Det kan vara en molnlagringssökväg eller en volymsökväg för Unity Catalog (till exempel /Volumes/my_catalog/my_schema/my_volume/archive/).Flyttplatsen måste:
Automatisk inläsare måste ha skrivbehörighet till den här katalogen. Tillgänglig i Databricks Runtime 16.4 och senare. |
cloudFiles.format |
Ingen (obligatoriskt alternativ) | Formatet för datafilen i sökvägen. Giltiga värden är:
|
cloudFiles.includeExistingFiles |
true |
Om du vill inkludera befintliga filer i indatasökvägen för dataströmbearbetning eller endast bearbeta nya filer som kommer efter den första installationen. Det här alternativet utvärderas endast när du startar en dataström för första gången. Att ändra det här alternativet efter att strömmen har startats om har ingen effekt. |
cloudFiles.inferColumnTypes |
false |
Om du vill härleda exakta kolumntyper vid användning av schemainferens. Som standard härleds kolumner som strängar när JSON- och CSV-datauppsättningar härleds. Mer information finns i schemainferens . |
cloudFiles.maxBytesPerTrigger |
None | Det maximala antalet nya byte som ska bearbetas i varje utlösare. Du kan ange en bytesträng, till exempel 10g för att begränsa varje mikrobatch till 10 GB data. Detta är ett mjukt maxvärde. Om du har filer som är 3 GB vardera bearbetar Azure Databricks 12 GB i en mikrobatch. När det används tillsammans med cloudFiles.maxFilesPerTrigger förbrukar Azure Databricks upp till den lägre gränsen cloudFiles.maxFilesPerTrigger eller cloudFiles.maxBytesPerTrigger, beroende på vilket som först uppnås. Det här alternativet har ingen effekt när det används med Trigger.Once() (Trigger.Once() är inaktuellt).I Databricks Runtime 18.0 och senare är det här alternativet dynamiskt konfigurerat och behöver inte anges manuellt. |
cloudFiles.maxFileAge |
None | Hur länge en filhändelse spåras i dedupliceringssyfte. Databricks rekommenderar inte att du justerar den här parametern om du inte matar in data i storleksordningen miljontals filer i timmen. Mer information finns i avsnittet om spårning av filhändelser . Om du justerar cloudFiles.maxFileAge för aggressivt kan det orsaka problem med datakvaliteten, till exempel duplicerad inmatning eller filer som saknas. Därför rekommenderar Databricks en konservativ inställning för cloudFiles.maxFileAge, till exempel 90 dagar, vilket liknar vad jämförbara datainmatningslösningar rekommenderar. |
cloudFiles.maxFilesPerTrigger |
1000 |
Det maximala antalet nya filer som ska bearbetas i varje utlösare. När det används tillsammans med cloudFiles.maxBytesPerTrigger förbrukar Azure Databricks upp till den lägre gränsen cloudFiles.maxFilesPerTrigger eller cloudFiles.maxBytesPerTrigger, beroende på vilket som först uppnås. Det här alternativet har ingen effekt när det används med Trigger.Once() (inaktuellt).I Databricks Runtime 18.0 och senare är det här alternativet dynamiskt konfigurerat och behöver inte anges manuellt. |
cloudFiles.partitionColumns |
None | En kommaavgränsad lista över Partitionskolumner i Hive-stil som du vill härleda från filernas katalogstruktur. Partitionskolumner i Hive-stil är nyckel/värde-par som kombineras med ett likhetstecken som <base-path>/a=x/b=1/c=y/file.format. I det här exemplet är partitionskolumnerna a, b, och c. Som standard läggs dessa kolumner automatiskt till i schemat om du använder schemainferens och anger <base-path> att data ska läsas in från. Om du anger ett schema förväntar sig Auto Loader att dessa kolumner inkluderas i schemat. Om du inte vill att dessa kolumner ska ingå i schemat kan du ange "" att dessa kolumner ska ignoreras. Dessutom kan du använda det här alternativet när du vill att kolumner ska härledas till filsökvägen i komplexa katalogstrukturer, som exemplet nedan:<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.csvcloudFiles.partitionColumns som year,month,day returnerar year=2022 för file1.csv, men kolumnerna month och day är null.month och day parsas korrekt för file2.csv och file3.csv. |
cloudFiles.schemaEvolutionMode |
addNewColumns när ett schema inte har angetts, none annars |
Sättet att utveckla schemat när nya kolumner upptäcks i data. Som standard härleds kolumner som strängar när JSON-datauppsättningar härleds. Mer information finns i schemautveckling . |
cloudFiles.schemaHints |
None | Schemainformation som du anger för Auto Loader vid schemainferens. Mer information finns i schematips . |
cloudFiles.schemaLocation |
Ingen (krävs för att härleda schemat) | Platsen där du vill lagra det härledda schemat och efterföljande ändringar. Mer information finns i schemainferens . |
cloudFiles.useStrictGlobber |
false |
Huruvida man ska använda en strikt globber som matchar standardglobbingbeteendet för andra filkällor i Apache Spark. Mer information finns i Vanliga datainläsningsmönster . Finns i Databricks Runtime 12.2 LTS och senare. |
cloudFiles.validateOptions |
true |
Huruvida alternativ för automatisk inläsare ska verifieras och ett fel returneras för okända eller inkonsekventa alternativ. |
Kataloglista
| Key | Standardinställning | Description |
|---|---|---|
cloudFiles.useIncrementalListing (inaktuell) |
auto på Databricks Runtime 17.2 och senare, false på Databricks Runtime 17.3 och senare |
Den här funktionen är inaktuell. Databricks rekommenderar att du använder filmeddelandeläget med filhändelser i stället för cloudFiles.useIncrementalListing.Om du vill använda den inkrementella listan i stället för den fullständiga listan i kataloglistningsläge. Som standard gör Auto Loader det bästa för att automatiskt identifiera om en viss katalog är tillämplig för den inkrementella listan. Du kan uttryckligen använda den inkrementella listan eller använda den fullständiga kataloglistan genom att ange den som true eller false respektive.Om du felaktigt aktiverar inkrementell lista i en icke-lexikalt ordnad katalog hindrar autoinläsaren från att identifiera nya filer. Fungerar med Azure Data Lake Storage ( abfss://), S3 (s3://) och GCS (gs://).Finns i Databricks Runtime 9.1 LTS och senare. Tillgängliga värden: auto, true, false |
Filmeddelande
Information om hur du konfigurerar filmeddelandeläge, inklusive nödvändiga molnbehörigheter, konfigurationsinstruktioner och autentiseringsmetoder, finns i Konfigurera automatiska inläsningsströmmar i filmeddelandeläge.
| Key | Standardinställning | Description |
|---|---|---|
cloudFiles.fetchParallelism |
1 |
Antal trådar som ska användas när meddelanden hämtas från kötjänsten. Använd inte när cloudFiles.useManagedFileEvents är inställt på true. |
cloudFiles.pathRewrites |
None | Krävs endast om du anger en queueUrl som tar emot filmeddelanden från flera S3-bucketar och du vill använda monteringspunkter som konfigurerats för åtkomst till data i dessa containrar. Använd det här alternativet för att skriva om prefixet för sökvägen bucket/key med monteringspunkten. Bara prefix kan skrivas om. För konfigurationen {"<databricks-mounted-bucket>/path": "dbfs:/mnt/data-warehouse"}skrivs till exempel sökvägen s3://<databricks-mounted-bucket>/path/2017/08/fileA.json om till dbfs:/mnt/data-warehouse/2017/08/fileA.json.Använd inte när cloudFiles.useManagedFileEvents är inställt på true. |
cloudFiles.resourceTag |
None | En serie nyckel/värde-taggpar som hjälper dig att associera och identifiera relaterade resurser, till exempel:cloudFiles.option("cloudFiles.resourceTag.myFirstKey", "myFirstValue") .option("cloudFiles.resourceTag.mySecondKey", "mySecondValue")Mer information om AWS finns i Amazon SQS-kostnadsallokeringstaggar och Konfigurera taggar för ett Amazon SNS-ämne. (1) Mer information om Azure finns i Namngivning av köer och metadata och täckningen för properties.labels i händelseprenumerationer. Auto Loader lagrar dessa nyckel/värde-taggpar i JSON som etiketter.
(1)Mer information om GCP finns i Rapportera användning med etiketter. (1) Använd inte när cloudFiles.useManagedFileEvents är inställt på true. Ange i stället resurstaggar med hjälp av molnproviderkonsolen. |
cloudFiles.useManagedFileEvents |
false |
När värdet är inställt på trueanvänder Auto Loader tjänsten för filhändelser för att identifiera filer på din externa plats. Du kan bara använda det här alternativet om inläsningssökvägen finns på en extern plats med filhändelser aktiverade. Se Använda filmeddelandeläge med filhändelser.Filhändelser ger prestanda på meddelandenivå vid filidentifiering, eftersom automatisk inläsning kan identifiera nya filer efter den senaste körningen. Till skillnad från kataloglistan behöver den här processen inte visa alla filer i katalogen. Det finns vissa situationer när Auto Loader använder kataloglista trots att alternativet filhändelser är aktiverat:
Se När använder automatisk inläsning med filhändelser kataloglista? för en omfattande lista över situationer när Auto Loader använder kataloglista med det här alternativet. Finns i Databricks Runtime 14.3 LTS och senare. |
cloudFiles.listOnStart |
false |
När värdet är inställt truepå utför Auto Loader en fullständig kataloglista när strömmen startar, i stället för att börja med fortsättningstoken i kontrollpunkten. Använd det här alternativet för att återställa från fel, till exempel CF_MANAGED_FILE_EVENTS_INVALID_CONTINUATION_TOKEN. Se Hur återställer jag från ett CF_MANAGED_FILE_EVENTS_INVALID_CONTINUATION_TOKEN fel?. |
cloudFiles.useNotifications |
false |
Om du vill använda filmeddelandeläget för att avgöra när det finns nya filer. Om falseanvänder du kataloglistningsläge. Se Jämför Auto Loader-filidentifieringslägen.Använd inte när cloudFiles.useManagedFileEvents är inställt på true. |
(1) Automatisk inläsning lägger till följande nyckel/värde-taggpar som standard på bästa möjliga sätt:
-
vendor:Databricks -
path: Platsen där data läses in. Inte tillgänglig i GCP på grund av etiketteringsbegränsningar. -
checkpointLocation: Platsen för dataströmmens kontrollpunkt. Inte tillgänglig i GCP på grund av etiketteringsbegränsningar. -
streamId: En globalt unik identifierare för strömmen.
Databricks reserverar dessa nyckelnamn och du kan inte skriva över deras värden.
Molnspecifik
Automatisk inläsning innehåller alternativ för att konfigurera molninfrastruktur för filaviseringsläge. Nödvändiga molnbehörigheter och installationsinstruktioner finns i Konfigurera automatiska inläsningsströmmar i filmeddelandeläge.
AWS
Ange endast följande alternativ om du väljer cloudFiles.useNotifications = true och vill att Auto Loader ska konfigurera meddelandetjänsterna åt dig:
| Key | Standardinställning | Description |
|---|---|---|
cloudFiles.region |
Regionen för EC2-instansen | Den region där käll-S3-bucketen finns och där du vill skapa AWS SNS- och SQS-tjänsterna. |
| Key | Standardinställning | Description |
|---|---|---|
cloudFiles.restrictNotificationSetupToSameAWSAccountId |
false |
Tillåt endast händelsemeddelanden från AWS S3-bucketar i samma konto som SNS-ämnet. När det är sant accepterar Auto Loader endast händelsemeddelanden från AWS S3-bucketar i samma konto som SNS-ämnet. När falsebegränsar inte åtkomstprincipen inställningar för bucket- och SNS-ämnen mellan konton. Detta är användbart när SNS-ämnet och bucketsökvägen är associerade med olika konton.Tillgänglig i Databricks Runtime 17.2 och senare. |
Ange endast följande alternativ om du väljer cloudFiles.useNotifications = true och vill att Auto Loader ska använda en kö som du redan har konfigurerat:
| Key | Standardinställning | Description |
|---|---|---|
cloudFiles.queueUrl |
None | Webbadressen till SQS-kön. Om det är tillgängligt förbrukar Auto Loader händelser direkt från den här kön i stället för att konfigurera sina egna AWS SNS- och SQS-tjänster. |
AWS-autentiseringsalternativ
Ange följande autentiseringsalternativ för att använda en Databricks-tjänstautentiseringsuppgift:
| Key | Standardinställning | Description |
|---|---|---|
databricks.serviceCredential |
None | Namnet på din Databricks-tjänsts referenskod. Tillgänglig i Databricks Runtime 16.1 och senare. |
När Databricks-tjänstens autentiseringsuppgifter eller IAM-roller inte är tillgängliga kan du ange följande autentiseringsalternativ i stället:
| Key | Standardinställning | Description |
|---|---|---|
cloudFiles.awsAccessKey |
None | AWS-åtkomstnyckelns ID för användaren. Måste vara försett med cloudFiles.awsSecretKey. |
cloudFiles.awsSecretKey |
None | Den hemliga åtkomstnyckeln för AWS-användaren. Måste vara försett med cloudFiles.awsAccessKey. |
cloudFiles.roleArn |
None | ARN för en IAM-roll att använda, om det behövs. Rollen kan antas från klustrets instansprofil eller genom att ange autentiseringsuppgifter med cloudFiles.awsAccessKey och cloudFiles.awsSecretKey. |
cloudFiles.roleExternalId |
None | En identifierare att ange när du antar en roll med hjälp av cloudFiles.roleArn. |
cloudFiles.roleSessionName |
None | Ett valfritt sessionsnamn att använda när du antar en roll med hjälp av cloudFiles.roleArn. |
cloudFiles.stsEndpoint |
None | En valfri slutpunkt för att ge åtkomst till AWS STS när du antar en roll med hjälp av cloudFiles.roleArn. |
Azure
Du måste ange värden för alla följande alternativ om du anger cloudFiles.useNotifications = true och vill att Auto Loader ska konfigurera meddelandetjänsterna åt dig:
| Key | Standardinställning | Description |
|---|---|---|
cloudFiles.resourceGroup |
None | Den Azure resursgrupp där lagringskontot skapas. |
cloudFiles.subscriptionId |
None | Det Azure prenumerations-ID där resursgruppen skapas. |
databricks.serviceCredential |
None | Namnet på din Databricks-tjänsts referenskod. Tillgänglig i Databricks Runtime 16.1 och senare. |
Om en Databricks-tjänstautentiseringsuppgift inte är tillgänglig kan du ange följande autentiseringsalternativ i stället:
| Key | Standardinställning | Description |
|---|---|---|
cloudFiles.clientId |
None | Klient-ID eller program-ID för tjänstens huvudman. |
cloudFiles.clientSecret |
None | Klienthemligheten för serviceprincipalen. |
cloudFiles.connectionString |
None | Anslutningssträng för lagringskontot, baserat på antingen kontoåtkomstnyckel eller signatur för delad åtkomst (SAS). |
cloudFiles.tenantId |
None | Det Azure klientorganisations-ID där tjänstens huvudnamn skapas. |
Ange endast följande alternativ om du anger cloudFiles.useNotifications = true och vill att Auto Loader ska använda en befintlig kö:
| Key | Standardinställning | Description |
|---|---|---|
cloudFiles.queueName |
None | Namnet på kön i Azure. Om det tillhandahålls tar molnfilkällan emot händelser direkt från denna kö i stället för att konfigurera sina egna Azure Event Grid- och kölagringstjänster. I så fall kräver din databricks.serviceCredential eller cloudFiles.connectionString endast läsbehörigheter i kön. |
GCP
Automatisk inläsare kan konfigurera meddelandetjänster åt dig automatiskt genom att utnyttja Databricks -tjänstens autentiseringsuppgifter. Tjänstkontot som skapats med Databricks-tjänstens autentiseringsuppgifter kräver de behörigheter som anges i Konfigurera automatiska inläsningsströmmar i filmeddelandeläge.
| Key | Standardinställning | Description |
|---|---|---|
cloudFiles.projectId |
None | ID:t för projektet som GCS-bucketen finns i. Google Cloud Pub/Sub-prenumerationen skapas också i det här projektet. |
databricks.serviceCredential |
None | Namnet på din Databricks-tjänsts referenskod. Tillgänglig i Databricks Runtime 16.1 och senare. |
Om en Databricks-tjänstautentiseringsuppgift inte är tillgänglig kan du använda Google-tjänstkonton direkt. Du kan antingen konfigurera klustret så att det förutsätter ett tjänstkonto genom att följa Konfiguration av Google-tjänsten eller ange följande autentiseringsalternativ direkt:
| Key | Standardinställning | Description |
|---|---|---|
cloudFiles.client |
None | Klient-ID för Google-tjänstkontot. |
cloudFiles.clientEmail |
None | E-postmeddelandet för Google-tjänstkontot. |
cloudFiles.privateKey |
None | Den privata nyckel som genereras för Google-tjänstkontot. |
cloudFiles.privateKeyId |
None | ID för den privata nyckel som genereras för Google-tjänstkontot. |
Ange endast följande alternativ om du väljer cloudFiles.useNotifications = true och vill att Auto Loader ska använda en kö som du redan har konfigurerat:
| Key | Standardinställning | Description |
|---|---|---|
cloudFiles.subscription |
None | Namnet på Google Cloud Pub/Sub-prenumerationen. Om det är tillgängligt använder molnfilkällan händelser från den här kön i stället för att ställa in sina egna GCS-aviseringar och Google Cloud Pub/Sub-tjänster. |
Delta Lake
Följande alternativ gäller vid läsning från en Delta Lake-tabell med hjälp av spark.readStream.
| Key | Standardinställning | Description |
|---|---|---|
allowSourceColumnDrop |
None | Ange ett versionsnummer för Delta-tabellen eller "always" för att tillåta att strömmen fortsätter efter att kolumnerna har tagits bort från källtabellschemat. När det är inställt på ett versionsnummer bekräftar alla schemaändringar upp till den versionen. Kräver schemaTrackingLocation. Se Byt namn på och ta bort kolumner med kolumnmappning i Delta Lake. |
allowSourceColumnRename |
None | Ange ett versionsnummer för Delta-tabellen eller "always" för att tillåta att strömmen fortsätter efter att kolumnerna har bytt namn i källtabellen. När det är inställt på ett versionsnummer bekräftar alla schemaändringar upp till den versionen. Kräver schemaTrackingLocation. Se Byt namn på och ta bort kolumner med kolumnmappning i Delta Lake. |
allowSourceColumnTypeChange |
None | Ange ett versionsnummer för Delta-tabellen eller "always" så att strömmen kan fortsätta efter att kolumntyperna har ändrats i källtabellen. När det är inställt på ett versionsnummer bekräftar alla schemaändringar upp till den versionen. Kräver schemaTrackingLocation. Se Typbreddning. |
excludeRegex |
None | Ett mönster för reguljära uttryck. Filer vars sökvägar matchar mönstret undantas från strömningsläsningen. Användbart för att filtrera bort filer som inte överensstämmer med den förväntade namngivningskonventionen. |
failOnDataLoss |
true |
Om strömningsfrågan ska misslyckas om källdata har tagits bort på grund av loggkvarhållning (logRetentionDuration). Ange till för att false hoppa över saknade data och fortsätta bearbetningen. Se Konfigurera datalagring för frågor rörande tidsresor. |
ignoreChanges (inaktuell) |
false |
Finns i Databricks Runtime 11.3 LTS och lägre. Genererar omskrivna datafiler efter ändringsåtgärder som UPDATE, MERGE INTO, DELETEeller OVERWRITE. Oförändrade rader kan genereras tillsammans med nya rader, så nedströmsanvändare måste hantera dubbletter. Raderingar sprids inte nedströms. Ersatt av skipChangeCommits i Databricks Runtime 12.2 LTS och senare. |
ignoreDeletes (inaktuell) |
false |
Ignorerar transaktioner som tar bort data vid partitionsgränser (endast fullständig partition tas bort). Hanterar inte icke-partitionsborttagningar, uppdateringar eller andra ändringar. Använd skipChangeCommits i stället. |
readChangeFeed eller readChangeData |
false |
Om du vill aktivera läsning av ändringsdataflödet för strömningsfrågan. När den är aktiverad genererar strömmen ändringar på radnivå (infogningar, uppdateringar och borttagningar) med ytterligare metadatakolumner. Se Använd Delta Lake-ändringsdataflöde på Azure Databricks. |
schemaTrackingLocation |
None | Sökväg till en katalog där Delta Lake spårar schemaändringar för strömningsläsningen. Krävs vid direktuppspelning från tabeller med kolumnmappning aktiverat och med hjälp av allowSourceColumn* alternativ för att hantera schemautvecklingen. Måste finnas inom checkpointLocation strömningsfrågan. Se Byt namn på och ta bort kolumner med kolumnmappning i Delta Lake. |
skipChangeCommits |
false |
Ignorerar transaktioner som tar bort eller ändrar befintliga poster och processer som endast lägger till. Databricks rekommenderar det här alternativet för de flesta arbetsbelastningar som inte använder ändringsdataflöden. Finns i Databricks Runtime 12.2 LTS och senare. Se Hoppa över överordnad ändrings incheckningar med skipChangeCommits. |
startingTimestamp |
Senaste tillgängliga | Tidsstämpel att börja läsa från. Strömmen läser alla tabelländringar som har checkats in vid eller efter den angivna tidsstämpeln. Om tidsstämpeln föregår alla tillgängliga tabellincheckningar börjar strömmen från den tidigaste tillgängliga incheckningen. Det går inte att använda tillsammans med startingVersion. Ignorerade om kontrollpunkten för direktuppspelning redan finns.Giltiga värden: en tidsstämpelsträng, till exempel "2019-01-01T00:00:00.000Z" eller en datumsträng, till "2019-01-01"exempel . |
startingVersion |
Senaste tillgängliga | Deltatabellversion att börja läsa från. Strömmen läser alla ändringar som har utförts vid eller efter den angivna versionen. Ange "latest" att endast de senaste ändringarna ska börja. Det går inte att använda tillsammans med startingTimestamp. Ignorerade om kontrollpunkten för direktuppspelning redan finns. Se Arbeta med tabellhistorik. |
withEventTimeOrder |
false |
Delar upp den första ögonblicksbilden av tabellen i bucketar för händelsetid för att förhindra att poster felaktigt markeras som sena händelser och tas bort i tillståndskänsliga frågor med vattenstämplar. Det går inte att ändra när den inledande bearbetningen av ögonblicksbilder har påbörjats utan att kontrollpunkten tas bort. Finns i Databricks Runtime 11.3 LTS och senare. Se Bearbeta den första ögonblicksbilden utan att ta bort data. |
Kafka
Använd dessa alternativ med antingen spark.readStream.format("kafka") eller spark.read.format("kafka"):
| Key | Standardinställning | Description |
|---|---|---|
assign |
None | De specifika partitioner som ska användas. Du måste ange exakt ett av subscribealternativen , subscribePatterneller assign . Giltiga värden: en JSON-sträng, till exempel {"topicA":[0,1],"topicB":[2,4]}. |
failOnDataLoss |
true |
Om frågan ska misslyckas om data kan ha gått förlorade, till exempel på grund av borttagna ämnen eller förskjutning av trunkering. Ange till för att false hoppa över saknade data och fortsätta. Giltiga värden: true, false.Databricks uppskattar konservativt om data kan ha gått förlorade. Detta kan dock orsaka falska larm. |
fetchoffset.numretries |
3 |
Antalet återförsök vid hämtning av Kafka-förskjutningar misslyckas. Giltiga värden: icke-negativa heltal. |
fetchoffset.retryintervalms |
1000 |
Intervallet i millisekunder mellan återförsök för förskjutningshämtning. Giltiga värden: icke-negativa heltal. |
groupIdPrefix |
spark-kafka-source (direktuppspelning), spark-kafka-relation (batch) |
Det anpassade prefixet som ska användas för det automatiskt genererade Kafka-konsumentgrupps-ID:t. Om kafka.group.id anges uttryckligen ignorerar anslutningsappen det här alternativet. Giltiga värden: valfri sträng. |
includeHeaders |
false |
Om kafka-meddelanderubriker ska inkluderas som en kolumn i utdata. Giltiga värden: true, false. |
kafkaconsumer.polltimeoutms |
None | Tidsgränsen i millisekunder för Kafka-konsumentanropet poll() . Giltiga värden: positiva heltal. |
kafka.bootstrap.servers |
None | En kommaavgränsad lista över värd:portadresser för Kafka-mäklare. Anger Kafka-klientens bootstrap.servers egenskap.Om du upptäcker att det inte finns några data från Kafka kan du söka efter felaktiga adresser i den här asynkrona adresslistan. Om koordinatoradresslistan är felaktig kanske det inte finns några fel. Kafka-klienter förutsätter att koordinatorerna kommer att vara tillgängliga så småningom och försöka igen för alltid när de får nätverksfel. |
maxRecordsPerPartition |
None | Det maximala antalet poster för varje Spark-partition. När den är inställd delar anslutningsappen upp Kafka-partitioner så att varje Spark-partition läser högst så här många poster. Giltiga värden: positiva heltal. Du kan också använda det här alternativet med minPartitions. När båda alternativen har angetts använder Spark det alternativ som resulterar i fler partitioner. |
minPartitions |
None | Det minsta antalet Spark-partitioner som ska läsas från Kafka. När den är inställd delar anslutningsappen upp stora Kafka-partitioner för att öka parallelliteten. När den inte har angetts skapar Spark en partition för varje Kafka topic-partition. Användbart för att hantera dataförskjutning eller högsta belastning. Giltiga värden: positiva heltal. Det här alternativet initierar Kafka-konsumenter igen för varje utlösare, vilket kan påverka prestanda med SSL. |
startingOffsets |
latest (direktuppspelning), earliest (batch) |
Förskjutningen som frågan börjar läsa från. Giltiga värden: earliest, latesteller en JSON-sträng med förskjutningar för varje partition, {"topicA":{"0":23,"1":-2}}till exempel . I JSON-strängen -1 är den senaste förskjutningen.
-2 är den tidigaste förskjutningen.För direktuppspelningsfrågor gäller det här alternativet endast när en ny fråga startas. Återupptagna frågor använder alltid kontrollpunkten. Under en fråga börjar nya partitioner läsa med den tidigaste förskjutningen. För batchfrågor tillåts latest inte. |
startingOffsetsByTimestamp |
None | En lista över startförskjutningar för varje partition, angiven som tidsstämplar i millisekunder. När det inte finns någon förskjutning för en tidsstämpel bestäms frågebeteendet av startingOffsetsByTimestampStrategy. Giltiga värden: en JSON-sträng med tidsstämplar för varje partition, till exempel {"topicA":{"0":1000,"1":2000}}.För direktuppspelningsfrågor gäller det här alternativet endast när en ny fråga startas. Återupptagna frågor använder alltid kontrollpunkten. Under en fråga börjar nya partitioner läsa med den tidigaste förskjutningen. |
startingOffsetsByTimestampStrategy |
error |
Den strategi som ska användas när ingen förskjutning hittas för en tidsstämpel som anges i startingOffsetsByTimestamp eller startingTimestamp. Giltiga värden: error (genererar ett undantag) latest (använder den senaste tillgängliga förskjutningen). |
startingTimestamp |
None | Den globala starttidsstämpeln i millisekunder som gäller för alla partitioner. När det inte finns någon förskjutning för tidsstämpeln styrs beteendet av startingOffsetsByTimestampStrategy. Giltiga värden: icke-negativa heltal. |
subscribe |
None | Ämnena att prenumerera på. Du måste ange exakt ett av subscribealternativen , subscribePatterneller assign . Giltiga värden: en kommaavgränsad lista med ämnesnamn. |
subscribePattern |
None | Det mönster som används för att prenumerera på ämnen. Du måste ange exakt ett av subscribealternativen , subscribePatterneller assign . Till exempel topic.*. Giltiga värden: alla Java regex-sträng. |
Följande alternativ gäller endast för direktuppspelningsläsningar med spark.readStream.format("kafka"):
| Key | Standardinställning | Description |
|---|---|---|
bytesEstimateWindowLength |
300s |
Tidsfönstret som används för att uppskatta återstående byte för måttet estimatedTotalBytesBehindLatest . Giltiga värden: varaktighetssträngar som 10m eller 600s. Se Hämta Kafka-mått. |
maxOffsetsPerTrigger |
None | Det maximala antalet förskjutningar som ska bearbetas per utlösarintervall. Förskjutningar fördelas proportionellt mellan ämnespartitioner. Giltiga värden: positiva heltal. |
maxTriggerDelay |
15m |
Den maximala tiden att vänta minOffsetsPerTrigger på att ackumuleras innan utlösaren utlöses. Giltiga värden: varaktighetssträngar som 10m eller 600s. |
minOffsetsPerTrigger |
None | Det minsta antalet förskjutningar som ska ackumuleras innan du utlöser en mikrobatch. När maxTriggerDelay har nåtts körs mikrobatchen oavsett. Giltiga värden: positiva heltal. |
För förskjutningsalternativ som endast gäller för batchläsningar med spark.read.format("kafka"), se DataFrameReader Kafka-alternativ.
Alternativ för Kafka-klient (kafka.*) och autentisering finns i Alternativ.
DataFrameWriter-alternativ
Använd de här alternativen med DataFrameWriter.option() och DataFrameWriterV2.option() för att styra hur Azure Databricks skriver data.
Example
I följande exempel anges mergeSchema till för att True skriva en Delta Lake-tabell:
Python
df.write.format("delta").option("mergeSchema", True).saveAsTable("my_table")
Scala
df.write.format("delta").option("mergeSchema", "true").saveAsTable("my_table")
Avro
| Key | Standardinställning | Description |
|---|---|---|
avroSchema |
None | Det fullständiga Avro-schemat som en JSON-sträng. Använd det här alternativet om du vill konvertera Spark SQL-typer till specifika Avro-typer. Gäller för Avro-filen. |
avroSchemaUrl |
None | En URL som pekar på en Avro-schemafil. Använd i stället för avroSchema när schemat lagras externt. Ömsesidigt uteslutande med avroSchema. Gäller för Avro-filen. |
compression |
snappy |
Komprimeringskodc som ska användas när du skriver. Giltiga värden: uncompressed, deflate, snappy, bzip2, xz, . zstandard Gäller för Avro-filen. |
recordName |
topLevelRecord |
Postnamnet på den översta nivån i Avro-schemat för utdata. Gäller för Avro-filen. |
positionalFieldMatching |
false |
Om kolumner ska matchas mellan Spark-schemat och Avro-schemat efter fältposition i stället för efter namn. Gäller för Avro-filen. |
recordNamespace |
Tom sträng | Namnområdet för posten på den översta nivån i utdataschemat för Avro. Gäller för Avro-filen. |
Delta Lake och Apache Iceberg
| Key | Standardinställning | Description |
|---|---|---|
clusterByAuto |
false |
Om du vill aktivera automatisk flytande klustring, där Azure Databricks väljer klustringskolumner baserat på frågemönster. Endast giltigt med mode("overwrite"). Det går inte att använda med append läge. Tillgänglig i Databricks Runtime 16.4 och senare. Gäller för Använd flytande klustring för tabeller. |
mergeSchema |
None | Om du vill aktivera schemautveckling för skrivåtgärden. Nya kolumner i källdataramen läggs till i måltabellschemat. Gäller för batch- och strömmande tillägg. Gäller för Uppdatera tabellschema. |
overwriteSchema |
None | Om du vill ersätta tabellschemat och partitioneringen vid överskrivning. Kräver mode("overwrite") utan replaceWhere. Det går inte att använda med partitionOverwriteMode. Gäller för Uppdatera tabellschema. |
partitionOverwriteMode |
None | Partitionsöverskrivningsläget. Ställ in på så att dynamic endast partitioner som innehåller nya data skrivs över, vilket gör att alla andra partitioner är oförändrade. Äldre läge, stöds inte på serverlös beräkning eller Databricks SQL. Giltiga värden: static, dynamic. Gäller för selektivt överskrivning av data med Delta Lake. |
replaceOn |
None | Ett booleskt uttryck som matchar rader i måltabellen som ska ersättas med rader från källfrågan. Kan referera till kolumner från både måltabellen och källfrågan. Rader i målet som matchar en källrad tas bort och ersätts. Om källan är tom sker inga borttagningar. Använd targetAlias för att skilja kolumnreferenser åt. Tillgänglig i Databricks Runtime 17.1 och senare. Gäller för selektivt överskrivning av data med Delta Lake. |
replaceUsing |
None | En kommaavgränsad lista med kolumnnamn som används för att matcha rader mellan måltabellen och källfrågan. Både målet och källan måste innehålla alla kolumner i listan. Rader i målet som matchar en källrad under likhetsjämförelse tas bort och ersätts.
NULL värden behandlas som inte lika med och matchar inte. Tillgänglig i Databricks Runtime 16.3 och senare. Gäller för selektivt överskrivning av data med Delta Lake. |
replaceWhere |
None | Ett predikatuttryck. Atomiskt skriver endast över de poster som matchar predikatet. Gäller för selektivt överskrivning av data med Delta Lake. |
targetAlias |
None | Ett strängalias för måltabellen. Använd med replaceOn eller replaceWhere för att skilja kolumnreferenser när villkoret refererar till kolumner från både måltabellen och källfrågan. Gäller för selektivt överskrivning av data med Delta Lake. |
txnAppId |
None | En unik sträng som identifierar programmet för idempotent-skrivningar i foreachBatch åtgärder. Använd tillsammans med txnVersion för att säkerställa exakt en gång skrivningar till flera Delta Lake-tabeller. Gäller för skrivningar foreachBatch av idempotenttabeller. |
txnVersion |
None | Ett monotont ökande tal som används som transaktionsversion för idempotent-skrivningar i foreachBatch åtgärder. Använd tillsammans med txnAppId för att säkerställa exakt en gång skrivningar till flera Delta Lake-tabeller. Gäller för skrivningar foreachBatch av idempotenttabeller. |
optimizeWrite |
None | Om du vill aktivera Automatisk optimering av skrivning för den här skrivåtgärden. Åsidosätter konfigurationen spark.databricks.delta.optimizeWrite.enabled . Gäller för Vad är Delta Lake i Azure Databricks?. |
userMetadata |
None | En användardefinierad sträng som läggs till i incheckningsmetadata för skrivåtgärden. Visas i utdata DESCRIBE HISTORYfrån . Gäller för Enrich-tabeller med anpassade metadata. |
CSV
| Key | Standardinställning | Description |
|---|---|---|
charToEscapeQuoteEscaping |
\0 (inte aktiverat) |
Tecknet som användes för att undkomma escape-tecknet när det skiljer sig från citattecknet. Gäller för csv (DataFrameWriter). |
compression |
none |
Komprimeringskodc som ska användas när du skriver. Giltiga värden: none, bzip2, gzip, lz4, snappy, , deflate. zstd Gäller för csv (DataFrameWriter). |
dateFormat |
yyyy-MM-dd |
Formatera sträng för datumkolumnvärden. Gäller för csv (DataFrameWriter). |
emptyValue |
Tom sträng | Strängen skrivs för tomma (icke-null)-värden. Gäller för csv (DataFrameWriter). |
encoding |
UTF-8 |
Teckenkodningen för utdatafilerna. Gäller för csv (DataFrameWriter). |
escape |
\ |
Tecknet som användes för att undkomma angivna värden. Gäller för csv (DataFrameWriter). |
escapeQuotes |
true |
Om du vill undvika citattecken i angivna fältvärden. Gäller för csv (DataFrameWriter). |
header |
false |
Om du vill skriva kolumnnamn som den första raden i utdata. Gäller för csv (DataFrameWriter). |
ignoreLeadingWhiteSpace |
false |
Om du vill trimma inledande blanksteg från värden när du skriver. Gäller för csv (DataFrameWriter). |
ignoreTrailingWhiteSpace |
false |
Om du vill trimma avslutande blanksteg från värden när du skriver. Gäller för csv (DataFrameWriter). |
lineSep |
\n |
Radavgränsarsträngen som används mellan poster. Gäller för csv (DataFrameWriter). |
locale |
en-US |
En java.util.Locale identifikator. Påverkar formatering av datum- och tidsstämpelvärden när du skriver. |
nullValue |
Tom sträng | Sträng som skrivits för null-värden. Gäller för csv (DataFrameWriter). |
quote |
" |
Tecknet som används för att citera fältvärden som innehåller avgränsaren. Gäller för csv (DataFrameWriter). |
quoteAll |
false |
Om alla fältvärden ska omges av citattecken oavsett innehåll. Gäller för csv (DataFrameWriter). |
sep |
, |
Fältgränstecknet. Gäller för csv (DataFrameWriter). |
timestampFormat |
yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] |
Formatsträngen för tidsstämpelkolumnvärden. Gäller för csv (DataFrameWriter). |
timestampNTZFormat |
yyyy-MM-dd'T'HH:mm:ss[.SSS] |
Formatera sträng för tidsstämpel utan tidszonskolumnvärden (TimestampNTZType). |
Excel
| Key | Standardinställning | Description |
|---|---|---|
dataAddress |
None | Bladnamnet eller startcellen för skrivning. Om det utelämnas skrivs till ett blad med namnet Sheet1 från cellen A1. Accepterar ett bladnamn ("SheetName") eller en enskild cellreferens ("SheetName!A1"). Cellområden stöds inte för skrivningar. |
dateFormatInWrite |
yyyy-mm-dd |
Excel cellformatsträng som tillämpas på Date kolumner. Använder Excel formatsyntax. |
headerRows |
0 |
Om du vill skriva kolumnnamn som den första raden. Giltiga värden: 0, 1. |
timestampNTZFormat |
yyyy-mm-dd hh:mm:ss |
Excel cellformatsträng som tillämpas på kolumnerna TimestampNTZ och Timestamp. Använder Excel formatsyntax. |
version |
xlsx |
Den Excel filformatversion som ska skrivas. Giltiga värden: xlsx, xls. |
JSON
| Key | Standardinställning | Description |
|---|---|---|
compression |
none |
Komprimeringskodc som ska användas när du skriver. Giltiga värden: none, bzip2, gzip, lz4, snappy, , deflate. zstd Gäller för json (DataFrameWriter). |
dateFormat |
yyyy-MM-dd |
Formatera sträng för datumkolumnvärden. Gäller för json (DataFrameWriter). |
encoding |
UTF-8 |
Teckenkodningen för utdatafilerna. Gäller för json (DataFrameWriter). |
ignoreNullFields |
värdet för spark.sql.jsonGenerator.ignoreNullFields |
Om fält med null-värden ska utelämnas från JSON-utdata. Gäller för json (DataFrameWriter). |
lineSep |
\n |
Radavgränsarsträngen som används mellan poster. Gäller för json (DataFrameWriter). |
locale |
en-US |
En java.util.Locale identifikator. Påverkar formatering av datum- och tidsstämpelvärden när du skriver. |
pretty |
false |
Om du vill aktivera snygga (indragna, flerrads) JSON-utdata. |
sortKeys |
false |
Om du vill sortera nycklarna för JSON-objekt alfabetiskt i utdata. Användbart för att producera deterministiska utdata. |
timestampFormat |
yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] |
Formatsträngen för tidsstämpelkolumnvärden. Gäller för json (DataFrameWriter). |
timestampNTZFormat |
yyyy-MM-dd'T'HH:mm:ss[.SSS] |
Formatera sträng för tidsstämpel utan tidszonskolumnvärden (TimestampNTZType). |
writeNonAsciiCharacterAsCodePoint |
false |
Om du vill koda icke-ASCII-tecken som \uXXXX Unicode-escape-sekvenser i stället för literala UTF-8-tecken i utdata. |
ORC
| Key | Standardinställning | Description |
|---|---|---|
compression |
zstd |
Komprimeringskodc som ska användas när du skriver. Giltiga värden: none, uncompressed, snappy, zlib, lzo, zstd, , lz4. brotli Gäller för orc (DataFrameWriter). |
Parkett
| Key | Standardinställning | Description |
|---|---|---|
compression |
snappy |
Komprimeringskodc som ska användas när du skriver. Giltiga värden: none, uncompressed, snappy, gzip, lzo, brotli, lz4, , lz4_raw. zstd Gäller för parquet (DataFrameWriter). |
spark.sql.parquet.outputTimestampType |
INT96 |
Den fysiska typ som används för att koda tidsstämpelkolumner. Giltiga värden: INT96, TIMESTAMP_MICROS, TIMESTAMP_MILLIS. Används INT96 för kompatibilitet med äldre Parquet-läsare som inte stöder standardtidsstämpeltyperna. |
Text
| Key | Standardinställning | Description |
|---|---|---|
compression |
none |
Komprimeringskodc som ska användas när du skriver. Giltiga värden: none, bzip2, gzip, lz4, snappy, , deflate. zstd Gäller för text (DataFrameWriter). |
encoding |
UTF-8 |
Teckenkodningen för utdatafilerna. |
lineSep |
\n |
Radavgränsarsträngen som används mellan poster. Gäller för text (DataFrameWriter). |
XML
| Key | Standardinställning | Description |
|---|---|---|
arrayElementName |
item |
Elementnamnet för matriselement som inte har något explicit namn. Gäller för XML (DataFrameWriter). |
attributePrefix |
_ |
Prefixet har förberetts för fältnamn som motsvarar XML-attribut. Gäller för XML (DataFrameWriter). |
compression |
none |
Komprimeringskodc som ska användas när du skriver. Giltiga värden: none, bzip2, gzip, lz4, snappy, , deflate. zstd Gäller för XML (DataFrameWriter). |
dateFormat |
yyyy-MM-dd |
Formatera sträng för datumkolumnvärden. Gäller för XML (DataFrameWriter). |
declaration |
version="1.0" encoding="UTF-8" standalone="yes" |
XML-deklarationssträngen som skrivs överst i varje utdatafil. Ange till en tom sträng för att utelämna deklarationen. Gäller för XML (DataFrameWriter). |
encoding |
UTF-8 |
Teckenkodningen för utdatafilerna. Gäller för XML (DataFrameWriter). |
indent |
4 blanksteg | Strängen som används för att dra in underordnade element i utdata. Ange till en tom sträng för att inaktivera indrag och skriva varje rad på en enda rad. |
locale |
en-US |
En java.util.Locale identifikator. Påverkar formatering av datum- och tidsstämpelvärden när du skriver. |
nullValue |
null |
Strängen som skrivits för null-värden. När värdet är inställt på nullutelämnas attribut och underordnade element för null-fält. Gäller för XML (DataFrameWriter). |
rootTag |
ROWS |
Rotelementstaggen som omsluter alla radelement i utdata. Gäller för XML (DataFrameWriter). |
rowTag |
ROW |
Elementtaggen som representerar en rad i utdata. Gäller för XML (DataFrameWriter). |
singleVariantColumn |
None | Namnet på den enda variantkolumnen som ska skrivas till XML-filer. Gäller för XML (DataFrameWriter). |
timestampFormat |
yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] |
Formatsträngen för tidsstämpelkolumnvärden. Gäller för XML (DataFrameWriter). |
timestampNTZFormat |
yyyy-MM-dd'T'HH:mm:ss[.SSS] |
Formatera sträng för tidsstämpel utan tidszonskolumnvärden. Gäller för XML (DataFrameWriter). |
validateName |
true |
Om ett undantag ska utlösas om ett kolumnnamn inte är en giltig XML-elementidentifierare. Gäller för XML (DataFrameWriter). |
valueTag |
_VALUE |
Fältnamnet som används för teckendata i XML-element som också har attribut eller underordnade element. Gäller för XML (DataFrameWriter). |
DataStreamWriter-alternativ
Använd dessa alternativ med DataStreamWriter.option() för att konfigurera direktuppspelningsskrivningar.
Example
I följande exempel anges kontrollpunktsplatsen för en dataström:
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")
Gemensamma
| Key | Standardinställning | Description |
|---|---|---|
checkpointLocation |
Ingen (krävs) | Sökväg till kontrollpunktskatalogen för strömningsfrågan. Krävs för feltolerans och bearbetningsgarantier exakt en gång. Varje direktuppspelningsfråga måste använda en unik kontrollpunktsplats. Databricks rekommenderar att du lagrar kontrollpunkter i en Unity Catalog-volym eller molnlagringssökväg. Se Kontrollpunkter för strukturerad strömning. |
path |
None | Utdatasökväg för filbaserade direktuppspelningsmottagare, till exempel Parquet. Gäller endast för filbaserade format. |
Konsolmottagare
| Key | Standardinställning | Description |
|---|---|---|
numRows |
20 |
Antalet rader som ska visas för varje mikrobatch när du skriver till konsolmottagaren. |
truncate |
true |
Om du vill trunkera långa strängar när rader visas. Ange till för att false visa fullständiga strängvärden. |
Delta Lake
Följande alternativ gäller när du skriver en dataström till en Delta Lake-tabell med hjälp av format("delta"). Skriv över alternativ som overwriteSchema, replaceWhereoch partitionOverwriteMode stöds inte för strömningsskrivningar.
| Key | Standardinställning | Description |
|---|---|---|
mergeSchema |
false |
Om du vill utveckla Delta Lake-tabellschemat när strömmande DataFrame innehåller nya kolumner. Gäller endast för tilläggsutdataläge. Gäller för Uppdatera tabellschema. |
userMetadata |
None | En användardefinierad sträng som läggs till i incheckningsmetadata för skrivåtgärden. Visas i utdata DESCRIBE HISTORYfrån . Gäller för Enrich-tabeller med anpassade metadata. |
Filmottagare
Följande alternativ gäller när du skriver en dataström till filbaserade format (Parquet, JSON, CSV, ORC, text). Formatspecifika alternativ finns i DataFrameWriter-alternativ.
| Key | Standardinställning | Description |
|---|---|---|
retention |
None | Hur länge du behåller metadatafiler för mottagare som används för feltolerans och komprimering. Accepterar en tidssträng som 7 days eller 24 hours. När de inte har angetts behålls metadatafiler på obestämd tid. |
Kafka-mottagare
En fullständig lista över alternativ för att skriva strömmar till Kafka finns i Alternativ.
| Key | Standardinställning | Description |
|---|---|---|
kafka.bootstrap.servers |
None | Required. En kommaavgränsad lista över Kafka-koordinatoradresser host:port . |
topic |
None | Kafka-målavsnittet för alla rader. Krävs om DataFrame inte innehåller någon topic kolumn. |
kafka.* |
None | Alla Kafka-producentkonfigurationer med prefixet kafka.. Till exempel kafka.compression.type. |
Minnesmottagare
| Key | Standardinställning | Description |
|---|---|---|
queryName |
Ingen (krävs) | Namnet på den minnesinterna tabell som frågan skriver till. Krävs för minnesmottagaren. Kan även konfigureras via .queryName(). |
mode |
exactlyonce |
Leveransgaranti för minnesmottagaren.
exactlyonce använder mikrobatchläge med exakt en gång-semantik.
atleastonce använder kontinuerligt läge med minst en gång semantik. Giltiga värden: exactlyonce, atleastonce. |
Funktionsalternativ för Spark
Vissa inbyggda Spark SQL-funktioner accepterar en options karta som styr parsnings- eller serialiseringsbeteendet. Skicka alternativ som en Python dict eller en Scala Map[String, String].
Example
I följande exempel parsas en JSON-kolumn när felaktiga poster släpps:
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
Avro-funktioner accepterar samma alternativ som motsvarande DataFrame-alternativ:
-
from_avroochschema_of_avroanvänd DataFrameReader Avro-alternativ. -
to_avroanvänder DataFrameWriter Avro-alternativ.
Example
I följande exempel avkodas en Avro-kolumn med schemautveckling aktiverat:
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")))
Dessutom accepterar schemaregistrets varianter av from_avro och to_avro följande alternativ:
| Key | Standardinställning | Description |
|---|---|---|
schemaId |
None | Schema-ID från Confluent Schema Registry som ska användas vid avkodning av Avro-data som kodades med ett schema som inte är kompatibelt med jsonFormatSchema. Gäller endast för from_avro . |
confluent.schema.registry.* |
None | Confluent Schema Registry-klientkonfigurationsegenskaper. Skicka alla Confluent SR-klientegenskaper med det här prefixet, till exempel confluent.schema.registry.basic.auth.user.info för grundläggande autentiseringsuppgifter. Krävs för schemaregistrets varianter av from_avro och to_avro. |
CSV
CSV-funktioner accepterar samma alternativ som motsvarande DataFrame-alternativ:
-
from_csvochschema_of_csvanvänd CSV-alternativ för DataFrameReader. -
to_csvanvänder CSV-alternativ för DataFrameWriter.
Example
I följande exempel läss CSV med en anpassad avgränsare och NULL ett värde:
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
JSON-funktioner accepterar samma alternativ som motsvarande DataFrame-alternativ:
-
from_jsonochschema_of_jsonanvänd JSON-alternativ för DataFrameReader. -
to_jsonanvänder JSON-alternativ för DataFrameWriter.
Example
I följande exempel skrivs JSON med NULL fält ignorerade och ganska formatering aktiverat:
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 och to_protobuf använd inte en filbaserad DataSource. Protobuf-data läss och skrivs alltid som binära kolumner med hjälp av dessa funktioner. Alternativen skickas som en Map[String, String] och är skiftlägeskänsliga.
Example
I följande exempel avkodas en Protobuf-kolumn med permissivt läge:
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")))
Protobuf-funktioner använder följande alternativ:
| Key | Standardinställning | Description |
|---|---|---|
mode |
FAILFAST |
Hantera skadade poster.
FAILFAST genererar ett undantag.
PERMISSIVE anger felaktiga fält till null. Giltiga värden: FAILFAST, PERMISSIVE. Gäller för from_protobuf. |
recursive.fields.max.depth |
-1 (inaktiverad) |
Maximalt rekursionsdjup för rekursiva Protobuf-fält. Ställ in på för att 0 inaktivera rekursivt fältstöd. Giltiga värden: 0 till 10. Gäller för from_protobuf. |
convert.any.fields.to.json |
false |
Om Protobuf-fält Any ska konverteras till en JSON-sträng i stället för en STRUCT. Gäller för from_protobuf. |
emit.default.values |
false |
Om fält ska genereras med noll eller standardvärden (proto3-semantik). När falseutelämnas fält med standardvärden från utdata. Gäller för from_protobuf. |
enums.as.ints |
false |
Om uppräkningsfält ska återges som heltalsvärden i stället för strängar. Gäller för from_protobuf. |
upcast.unsigned.ints |
false |
Om du vill upcasta uint32 till Long och uint64 för att Decimal(20,0) förhindra heltalsspill. Gäller för from_protobuf. |
unwrap.primitive.wrapper.types |
false |
Om du vill packa google.protobuf upp omslutningstyper (till exempel Int32Value och StringValue) till motsvarande primitiva Spark-typer. Gäller för from_protobuf. |
retain.empty.message.types |
false |
Om du vill behålla tomma Protobuf-meddelandetyper i utdataschemat genom att infoga en dummy-kolumn. Gäller för from_protobuf. |
schema.registry.subject |
None | Schema Registry-ämnesnamn. Krävs när du använder schemaregistrets varianter av from_protobuf och to_protobuf. |
schema.registry.address |
None | Schemaregisteradress (värd och port). Krävs när du använder schemaregistrets varianter av from_protobuf och to_protobuf. |
schema.registry.protobuf.name |
None | Anger vilket Protobuf-meddelande som ska användas när schemaregisterämnet innehåller flera meddelanden. Optional. |
XML
XML-funktioner accepterar samma alternativ som motsvarande DataFrame-alternativ:
-
from_xmlochschema_of_xmlanvänd XML-alternativ för DataFrameReader. -
to_xmlanvänder XML-alternativ för DataFrameWriter.
Example
I följande exempel skrivs XML med anpassade rot- och radtaggar:
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")))