COPY INTO
Si applica a: Databricks SQL Databricks Runtime
Carica i dati da un percorso di file in una tabella Delta. Si tratta di un'operazione riprovabile e idempotente: i file nel percorso di origine che sono già stati caricati vengono ignorati. Questo vale anche se i file sono stati modificati dopo il caricamento. Per esempi, vedere Modelli comuni di caricamento dei dati con COPY INTO.
Sintassi
COPY INTO target_table [ BY POSITION | ( col_name [ , <col_name> ... ] ) ]
FROM { source_clause |
( SELECT expression_list FROM source_clause ) }
FILEFORMAT = data_source
[ VALIDATE [ ALL | num_rows ROWS ] ]
[ FILES = ( file_name [, ...] ) | PATTERN = glob_pattern ]
[ FORMAT_OPTIONS ( { data_source_reader_option = value } [, ...] ) ]
[ COPY_OPTIONS ( { copy_option = value } [, ...] ) ]
source_clause
source [ WITH ( [ CREDENTIAL { credential_name |
(temporary_credential_options) } ]
[ ENCRYPTION (encryption_options) ] ) ]
Parametri
target_table
Identifica una tabella Delta esistente. Il target_table non deve includere una specifica temporale o una specifica delle opzioni.
Se il nome della tabella viene specificato sotto forma di posizione, ad esempio,
delta.`/path/to/table`
, Il catalogo unity può gestire l'accesso alle posizioni in cui viene scritto. È possibile scrivere in una posizione esterna in base a:- Definizione del percorso come posizione esterna e autorizzazione
WRITE FILES
per tale posizione esterna. - Avere
WRITE FILES
le autorizzazioni per le credenziali di archiviazione denominate che forniscono l'autorizzazione per la scrittura in una posizione usando:COPY INTO delta.`/some/location` WITH (CREDENTIAL <named-credential>)
Per altri dettagli, vedere Connettersi all'archiviazione di oggetti cloud e ai servizi tramite il catalogo Unity.
- Definizione del percorso come posizione esterna e autorizzazione
BY POSITION
| ( col_name [ , <col_name> ... ] )Trova la corrispondenza tra le colonne di origine e le colonne della tabella di destinazione in base alla posizione ordinale. Il cast dei tipi delle colonne corrispondenti viene eseguito automaticamente.
Questo parametro è supportato solo per il formato di file CSV senza intestazione. È necessario specificare
FILEFORMAT = CSV
.FORMAT_OPTIONS
deve anche essere impostato su("headers" = "false")
(FORMAT_OPTIONS ("headers" = "false")
è l'impostazione predefinita).Opzione di sintassi 1:
BY POSITION
- Corrisponde automaticamente alle colonne di origine alle colonne della tabella di destinazione in base alla posizione ordinale.
- La corrispondenza dei nomi predefinita non viene utilizzata per la corrispondenza.
-
IDENTITY
le colonne eGENERATED
le colonne della tabella di destinazione vengono ignorate quando corrispondono alle colonne di origine. - Se il numero di colonne di origine non è uguale alle colonne della tabella di destinazione filtrate,
COPY INTO
genera un errore.
Opzione di sintassi 2:
( col_name [ , <col_name> ... ] )
- Trova la corrispondenza tra le colonne di origine e le colonne della tabella di destinazione specificate in base alla posizione ordinale relativa usando un elenco dei nomi di colonna della tabella di destinazione tra parentesi, separati da virgole.
- L'ordine delle colonne della tabella originale e i nomi delle colonne non vengono usati per la corrispondenza.
-
IDENTITY
non è possibile specificare colonne eGENERATED
colonne nell'elenco dei nomi di colonna. In caso contrarioCOPY INTO
, viene generato un errore. - Impossibile duplicare le colonne specificate.
- Quando il numero di colonne di origine non è uguale alle colonne della tabella specificate,
COPY INTO
genera un errore. - Per le colonne non specificate nell'elenco dei nomi di colonna,
COPY INTO
assegna i valori predefiniti, se presenti, e assegna inNULL
caso contrario. Se una colonna non è nullable,COPY INTO
genera un errore.
- Corrisponde automaticamente alle colonne di origine alle colonne della tabella di destinazione in base alla posizione ordinale.
source
Percorso del file da cui caricare i dati. I file in questo percorso devono avere il formato specificato in
FILEFORMAT
. La posizione viene fornita sotto forma di URI.L'accesso al percorso di origine può essere fornito tramite:
credential_name
Nome facoltativo delle credenziali usate per accedere o scrivere nel percorso di archiviazione. Questa credenziale viene usata solo se il percorso del file non è incluso in un percorso esterno. Vedere credential_name.
Credenziali temporanee inline.
Definizione del percorso di origine come posizione esterna e
READ FILES
autorizzazione per la posizione esterna tramite il catalogo Unity.Uso di una credenziale di archiviazione denominata con
READ FILES
autorizzazioni che forniscono l'autorizzazione per la lettura da una posizione tramite il catalogo unity.
Non è necessario fornire credenziali inline o denominate se il percorso è già definito come percorso esterno che si dispone delle autorizzazioni da usare. Per altri dettagli, vedere Creare una posizione esterna per connettere l'archiviazione cloud ad Azure Databricks .
Nota
Se il percorso del file di origine è un percorso radice, aggiungere una barra (
/
) alla fine del percorso del file,s3://my-bucket/
ad esempio .Le opzioni delle credenziali accettate sono:
-
AZURE_SAS_TOKEN
per ADLS Gen2 e Archiviazione BLOB di Azure -
AWS_ACCESS_KEY
,AWS_SECRET_KEY
eAWS_SESSION_TOKEN
per AWS S3
Le opzioni di crittografia accettate sono:
-
TYPE = 'AWS_SSE_C'
eMASTER_KEY
per AWS S3
Vedere Caricare dati con COPY INTO con credenziali temporanee.
SELECT expression_list
Seleziona le colonne o le espressioni specificate dai dati di origine prima di copiare nella tabella Delta. Le espressioni possono essere qualsiasi elemento usato con
SELECT
istruzioni, incluse le operazioni della finestra. È possibile usare le espressioni di aggregazione solo per le aggregazioni globali. Non è possibileGROUP BY
usare colonne con questa sintassi.FILEFORMAT = data_source
Formato dei file di origine da caricare. Uno di
CSV
,JSON
,AVRO
,ORC
PARQUET
,TEXT
.BINARYFILE
VALIDATE
Si applica a: Databricks SQL Databricks Runtime 10.4 LTS e versioni successive
I dati da caricare in una tabella vengono convalidati ma non scritti nella tabella. Queste convalide includono:
- Indica se i dati possono essere analizzati.
- Indica se lo schema corrisponde a quello della tabella o se lo schema deve essere evoluto.
- Indica se vengono soddisfatti tutti i vincoli di nullità e check.
L'impostazione predefinita consiste nel convalidare tutti i dati da caricare. È possibile specificare una serie di righe da convalidare con la
ROWS
parola chiave , ad esempioVALIDATE 15 ROWS
. L'istruzioneCOPY INTO
restituisce un'anteprima dei dati di 50 righe o minore quando viene usato un numero minore di 50 con laROWS
parola chiave .FILES
Elenco di nomi di file da caricare, con un limite di 1000 file. Non può essere specificato con
PATTERN
.PATTERN
Modello GLOB che identifica i file da caricare dalla directory di origine. Non può essere specificato con
FILES
.Modello Descrizione ?
Corrisponde a qualsiasi carattere singolo *
Corrisponde a zero o più caratteri [abc]
Trova la corrispondenza di un singolo carattere del set di caratteri {a,b,c}. [a-z]
Trova la corrispondenza di un singolo carattere dall'intervallo di caratteri {a... z}. [^a]
Trova la corrispondenza di un singolo carattere non incluso nel set di caratteri o nell'intervallo {a}. Si noti che il ^
carattere deve essere immediatamente a destra della parentesi aperta.{ab,cd}
Trova la corrispondenza di una stringa dal set di stringhe {ab, cd}. {ab,c{de, fh}}
Trova la corrispondenza di una stringa dal set di stringhe {ab, cde, cfh}. FORMAT_OPTIONS
Opzioni da passare al lettore dell'origine dati Apache Spark per il formato specificato. Vedere Opzioni di formato per ogni formato di file.
COPY_OPTIONS
Opzioni per controllare l'operazione del
COPY INTO
comando.-
force
: booleano, valore predefinitofalse
. Se impostato sutrue
, l'idempotenza è disabilitata e i file vengono caricati indipendentemente dal fatto che siano stati caricati prima. -
mergeSchema
: booleano, valore predefinitofalse
. Se impostato sutrue
, lo schema può essere evoluto in base ai dati in ingresso.
-
Richiamare COPY INTO
simultaneamente
COPY INTO
supporta chiamate simultanee sulla stessa tabella.
COPY INTO
Se viene richiamato simultaneamente su set distinti di file di input, ogni chiamata dovrebbe avere esito positivo, altrimenti si verifica un conflitto di transazioni.
COPY INTO
non deve essere richiamato simultaneamente per migliorare le prestazioni; un singolo COPY INTO
comando con più file offre in genere prestazioni migliori rispetto all'esecuzione di comandi simultanei COPY INTO
con un singolo file ciascuno.
COPY INTO
può essere chiamato simultaneamente quando:
- Più producer di dati non hanno un modo semplice per coordinare e non possono effettuare una singola chiamata.
- Quando una directory molto grande può essere inserita sottodirectory per sottodirectory. Quando si inseriscono directory con un numero molto elevato di file, Databricks consiglia di usare il caricatore automatico quando possibile.
Accedere ai metadati dei file
Per informazioni su come accedere ai metadati per le origini dati basate su file, vedere Colonna metadati file.
Opzioni di formattazione
- Opzioni generiche
-
JSON
opzioni -
CSV
opzioni -
XML
opzioni -
PARQUET
opzioni -
AVRO
opzioni -
BINARYFILE
opzioni -
TEXT
opzioni -
ORC
opzioni
Opzioni generiche
Le opzioni seguenti si applicano a tutti i formati di file.
Opzione |
---|
ignoreCorruptFiles Tipo: Boolean Indica se ignorare i file danneggiati. Se true, i processi Spark continueranno a essere eseguiti quando si verificano file danneggiati e il contenuto letto verrà comunque restituito. Osservabile come numSkippedCorruptFiles nellacolonna operationMetrics della cronologia di Delta Lake. Disponibile in Databricks Runtime 11.3 LTS e versioni successive.Valore predefinito: false |
ignoreMissingFiles Tipo: Boolean Indica se ignorare i file mancanti. Se true, i processi Spark continueranno a essere eseguiti quando vengono rilevati file mancanti e il contenuto letto verrà comunque restituito. Disponibile in Databricks Runtime 11.3 LTS e versioni successive. Valore predefinito: false (true per COPY INTO ) |
modifiedAfter Tipo: Timestamp String , per esempio, 2021-01-01 00:00:00.000000 UTC+0 Timestamp facoltativo per inserire file con un timestamp di modifica dopo il timestamp specificato. Valore predefinito: Nessuno |
modifiedBefore Tipo: Timestamp String , per esempio, 2021-01-01 00:00:00.000000 UTC+0 Timestamp facoltativo per inserire file con un timestamp di modifica prima del timestamp specificato. Valore predefinito: Nessuno |
pathGlobFilter oppure fileNamePattern Tipo: String Un potenziale modello glob da fornire per la scelta dei file. Equivalente a PATTERN in COPY INTO .
fileNamePattern può essere usato in read_files .Valore predefinito: Nessuno |
recursiveFileLookup Tipo: Boolean Se ignorare l'inferenza della partizione durante l'inferenza dello schema. Ciò non influisce sui file caricati. Valore predefinito: false |
Opzioni JSON
Opzione |
---|
allowBackslashEscapingAnyCharacter Tipo: Boolean Indica se consentire alle barre rovesciate di eseguire l'escape di qualsiasi carattere che abbia esito positivo. Se non è abilitata, solo i caratteri elencati in modo esplicito dalla specifica JSON possono essere preceduti da un carattere di escape. Valore predefinito: false |
allowComments Tipo: Boolean Indica se consentire o meno l'uso dei commenti di stile Java, C e C++ ( '/' , '*' e '//' ) all'interno del contenuto analizzato.Valore predefinito: false |
allowNonNumericNumbers Tipo: Boolean Indica se consentire il set di token non numerici ( NaN ) come valori numerici mobili legali.Valore predefinito: true |
allowNumericLeadingZeros Tipo: Boolean Indica se consentire ai numeri integrali di iniziare con zeli aggiuntivi (ignorabili), (ad esempio 000001 ).Valore predefinito: false |
allowSingleQuotes Tipo: Boolean Indica se consentire l'uso di virgolette singole (apostrofo, carattere '\' ) per le stringhe tra virgolette (nomi e valori stringa).Valore predefinito: true |
allowUnquotedControlChars Tipo: Boolean Indica se consentire alle stringhe JSON di contenere caratteri di controllo senza caratteri di escape (caratteri ASCII con valore minore di 32, inclusi caratteri di tabulazioni e avanzamento riga) o meno. Valore predefinito: false |
allowUnquotedFieldNames Tipo: Boolean Indica se consentire l'uso di nomi di campo senza virgolette (consentiti da JavaScript, ma non dalla specifica JSON). Valore predefinito: false |
badRecordsPath Tipo: String Percorso per archiviare i file per registrare le informazioni sui record JSON non validi. Valore predefinito: Nessuno |
columnNameOfCorruptRecord Tipo: String Colonna per l'archiviazione di record non validi e non analizzabili. Se l'oggetto per l'analisi mode è impostato su DROPMALFORMED , questa colonna sarà vuota.Valore predefinito: _corrupt_record |
dateFormat Tipo: String Formato per l'analisi delle stringhe di data. Valore predefinito: yyyy-MM-dd |
dropFieldIfAllNull Tipo: Boolean Indica se ignorare le colonne di tutti i valori Null o matrici e struct vuoti durante l'inferenza dello schema. Valore predefinito: false |
encoding oppure charset Tipo: String Nome della codifica dei file JSON. Vedere java.nio.charset.Charset per l'elenco delle opzioni. Non è possibile usare UTF-16 e UTF-32 quando multiline è true .Valore predefinito: UTF-8 |
inferTimestamp Tipo: Boolean Indica se provare e dedurre stringhe di timestamp come TimestampType . Se impostato sutrue , l'inferenza dello schema potrebbe richiedere molto più tempo. È necessario abilitare cloudFiles.inferColumnTypes per l’uso con il caricatore automatico.Valore predefinito: false |
lineSep Tipo: String Stringa tra due record JSON consecutivi. Valore predefinito: nessuno, che copre \r , \r\n e \n |
locale Tipo: String Un identificatore java.util.Locale . Influenza l'analisi di data, timestamp e decimale predefinita all'interno di JSON.Valore predefinito: US |
mode Tipo: String Modalità parser per la gestione di record in formato non valido. Uno di 'PERMISSIVE' ,'DROPMALFORMED' , o 'FAILFAST' .Valore predefinito: PERMISSIVE |
multiLine Tipo: Boolean Indica se i record JSON si estendono su più righe. Valore predefinito: false |
prefersDecimal Tipo: Boolean Tenta di dedurre stringhe come DecimalType invece di tipo float o double, quando possibile. È anche necessario usare l'inferenza dello schema, abilitandoinferSchema o usando cloudFiles.inferColumnTypes con il caricatore automatico.Valore predefinito: false |
primitivesAsString Tipo: Boolean Indica se dedurre tipi primitivi come numeri e booleani come StringType .Valore predefinito: false |
readerCaseSensitive Tipo: Boolean Specifica il comportamento di distinzione tra maiuscole e minuscole quando rescuedDataColumn è abilitato. Se true, salvare le colonne di dati i cui nomi differiscono per maiuscole e minuscole rispetto allo schema; in caso contrario, leggere i dati senza distinzione tra maiuscole e minuscole. Disponibile in Databricks Runtime13.3 e versioni successive. Valore predefinito: true |
rescuedDataColumn Tipo: String Indica se raccogliere tutti i dati che non possono essere analizzati a causa di una mancata corrispondenza del tipo di dati o di una mancata corrispondenza dello schema (inclusa la combinazione di maiuscole e minuscole) in una colonna separata. Questa colonna è inclusa per impostazione predefinita quando si usa il caricatore automatico. Per altre informazioni, vedere Che cos'è la colonna di dati salvata? Valore predefinito: Nessuno |
singleVariantColumn Tipo: String Indica se inserire l'intero documento JSON, analizzato in una singola colonna Variant con la stringa specificata come nome della colonna. Se disabilitato, i campi JSON verranno inseriti nelle proprie colonne. Valore predefinito: Nessuno |
timestampFormat Tipo: String Formato per l'analisi delle stringhe di timestamp. Valore predefinito: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] |
timeZone Tipo: String Oggetto java.time.ZoneId da utilizzare durante l'analisi di timestamp e date.Valore predefinito: Nessuno |
Opzioni CSV
Opzione |
---|
badRecordsPath Tipo: String Percorso in cui archiviare i file per registrare le informazioni sui record CSV non validi. Valore predefinito: Nessuno |
charToEscapeQuoteEscaping Tipo: Char Carattere utilizzato per eseguire l'escape del carattere utilizzato per l'escape delle virgolette. Ad esempio, per i seguenti record [ " a\\", b ] :- Se il carattere per saltare il '\' è indefinito, il record non verrà analizzato. Il parser leggerà i caratteri: [a],[\],["],[,],[ ],[b] e genererà un errore perché non riesce a trovare un'virgoletta di chiusura.- Se il carattere per saltare il '\' è definito come '\' , il record verrà letto con 2 valori: [a\] e [b] .Valore predefinito: '\0' |
columnNameOfCorruptRecord Supportato per il caricatore automatico. Non supportato per COPY INTO .Tipo: String Colonna per l'archiviazione di record non validi e non analizzabili. Se l'oggetto per l'analisi mode è impostato su DROPMALFORMED , questa colonna sarà vuota.Valore predefinito: _corrupt_record |
comment Tipo: Char Definisce il carattere che rappresenta un commento di riga quando viene trovato all'inizio di una riga di testo. Usare '\0' per disabilitare l'ignoramento dei commenti.Valore predefinito: '\u0000' |
dateFormat Tipo: String Formato per l'analisi delle stringhe di data. Valore predefinito: yyyy-MM-dd |
emptyValue Tipo: String Rappresentazione in forma di stringa di un valore di vuoto. Valore predefinito: "" |
encoding oppure charset Tipo: String Nome della codifica dei file CSV. Vedere java.nio.charset.Charset per l'elenco delle opzioni.
UTF-16 e UTF-32 non possono essere usati quando multiline è true .Valore predefinito: UTF-8 |
enforceSchema Tipo: Boolean Indica se applicare forzatamente lo schema specificato o dedotto ai file CSV. Se l'opzione è abilitata, le intestazioni dei file CSV vengono ignorate. Questa opzione viene ignorata per impostazione predefinita quando si usa il caricatore automatico per salvare i dati e consentire l'evoluzione dello schema. Valore predefinito: true |
escape Tipo: Char Carattere di escape da utilizzare durante l'analisi dei dati. Valore predefinito: '\' |
header Tipo: Boolean Indica se i file CSV contengono un'intestazione. Il caricatore automatico presuppone che i file abbiano intestazioni durante l'inferenza dello schema. Valore predefinito: false |
ignoreLeadingWhiteSpace Tipo: Boolean Indica se ignorare gli spazi vuoti iniziali per ogni valore analizzato. Valore predefinito: false |
ignoreTrailingWhiteSpace Tipo: Boolean Indica se ignorare gli spazi vuoti finali per ogni valore analizzato. Valore predefinito: false |
inferSchema Tipo: Boolean Indica se dedurre i tipi di dati dei record CSV analizzati o per presupporre che tutte le colonne siano di StringType . Richiede un passaggio aggiuntivo sui dati se impostato su true . Per il caricatore automatico, usare cloudFiles.inferColumnTypes invece.Valore predefinito: false |
lineSep Tipo: String Stringa tra due record CSV consecutivi. Valore predefinito: nessuno, che copre \r , \r\n e \n |
locale Tipo: String Un identificatore java.util.Locale . Influenza l'analisi di data, timestamp e decimale predefinita all'interno del file CSV.Valore predefinito: US |
maxCharsPerColumn Tipo: Int Numero massimo di caratteri previsti da un valore da analizzare. Può essere usato per evitare errori di memoria. Il valore predefinito è -1 , ovvero illimitato.Valore predefinito: -1 |
maxColumns Tipo: Int Limite rigido del numero di colonne che un record può avere. Valore predefinito: 20480 |
mergeSchema Tipo: Boolean Indica se dedurre lo schema tra più file e unire lo schema di ogni file. Abilitato per impostazione predefinita per il caricatore automatico durante l'inferenza dello schema. Valore predefinito: false |
mode Tipo: String Modalità parser per la gestione di record in formato non valido. Uno di 'PERMISSIVE' ,'DROPMALFORMED' e 'FAILFAST' .Valore predefinito: PERMISSIVE |
multiLine Tipo: Boolean Indica se i record CSV si estendono su più righe. Valore predefinito: false |
nanValue Tipo: String Rappresentazione di stringa di un valore non numerico durante l'analisi delle colonne FloatType e DoubleType .Valore predefinito: "NaN" |
negativeInf Tipo: String Rappresentazione di stringa dell'infinito negativo durante l'analisi delle colonne FloatType e DoubleType .Valore predefinito: "-Inf" |
nullValue Tipo: String Rappresentazione in forma di stringa del valore null. Valore predefinito: "" |
parserCaseSensitive (deprecato)Tipo: Boolean Durante la lettura dei file, se allineare le colonne dichiarate nell'intestazione con la distinzione tra maiuscole e minuscole dello schema. Questa opzione è true per impostazione predefinita per il caricatore automatico. Le colonne che differiscono per caso verranno salvate nel rescuedDataColumn se abilitato. Questa opzione è stata deprecata a favore di readerCaseSensitive .Valore predefinito: false |
positiveInf Tipo: String Rappresentazione di stringa dell'infinito positivo durante l'analisi delle colonne FloatType e DoubleType .Valore predefinito: "Inf" |
preferDate Tipo: Boolean Tenta di dedurre stringhe come date anziché timestamp, quando possibile. È anche necessario usare l'inferenza dello schema, abilitando inferSchema o usandocloudFiles.inferColumnTypes con caricatore automatico.Valore predefinito: true |
quote Tipo: Char Carattere utilizzato per l'escape dei valori in cui il delimitatore di campo fa parte del valore. Valore predefinito: " |
readerCaseSensitive Tipo: Boolean Specifica il comportamento di distinzione tra maiuscole e minuscole quando rescuedDataColumn è abilitato. Se true, salvare le colonne di dati i cui nomi differiscono per maiuscole e minuscole rispetto allo schema; in caso contrario, leggere i dati senza distinzione tra maiuscole e minuscole.Valore predefinito: true |
rescuedDataColumn Tipo: String Indica se raccogliere tutti i dati che non possono essere analizzati a causa di: mancata corrispondenza del tipo di dati e mancata corrispondenza dello schema (incluse le maiuscole) in una colonna separata. Questa colonna è inclusa per impostazione predefinita quando si usa il caricatore automatico. Per altri dettagli, fare riferimento a Che cos'è la colonna di dati salvata?. Valore predefinito: Nessuno |
sep oppure delimiter Tipo: String Stringa separatore tra le colonne. Valore predefinito: "," |
skipRows Tipo: Int Numero di righe dall'inizio del file CSV che devono essere ignorate (incluse le righe commentate e vuote). Se header è true, l'intestazione sarà la prima riga non ignorata e non commentata.Valore predefinito: 0 |
timestampFormat Tipo: String Formato per l'analisi delle stringhe di timestamp. Valore predefinito: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] |
timeZone Tipo: String Oggetto java.time.ZoneId da utilizzare durante l'analisi di timestamp e date.Valore predefinito: Nessuno |
unescapedQuoteHandling Tipo: String Strategia per la gestione delle virgolette senza caratteri di escape. Opzioni consentite: - STOP_AT_CLOSING_QUOTE : se nell'input vengono trovate virgolette senza caratteri di escape, accumulare il carattere di virgolette e continuare a analizzare il valore come valore tra virgolette, fino a quando non viene trovata una virgoletta di chiusura.- BACK_TO_DELIMITER : se nell'input vengono trovate virgolette senza caratteri di escape, considerare il valore come valore senza virgolette. In questo modo il parser accumula tutti i caratteri del valore analizzato corrente fino a quando non viene trovato il delimitatore definito da sep . Se non viene trovato alcun delimitatore nel valore, il parser continuerà ad accumulare caratteri dall'input fino a quando non viene trovato un delimitatore o una terminazione di riga.- STOP_AT_DELIMITER : se nell'input vengono trovate virgolette senza caratteri di escape, considerare il valore come valore senza virgolette. In questo modo il parser accumula tutti i caratteri fino a quando il delimitatore definito da sep o una fine di riga viene trovata nell'input.- SKIP_VALUE : se nell'input vengono trovate virgolette senza caratteri di escape, il contenuto analizzato per il valore specificato verrà ignorato (fino a quando non viene trovato il delimitatore successivo) e il valore impostato in nullValue verrà generato.- RAISE_ERROR : se nell'input vengono trovate virgolette senza caratteri di escape,TextParsingException verrà generata.Valore predefinito: STOP_AT_DELIMITER |
Opzioni XML
Opzione | Descrizione | Scope |
---|---|---|
rowTag |
Tag di riga dei file XML da considerare come riga. Nell'esempio XML <books> <book><book>...<books> , il valore appropriato è book . Si tratta di un'opzione obbligatoria. |
letti |
samplingRatio |
Definisce una frazione di righe utilizzate per l'inferenza dello schema. Le funzioni predefinite XML ignorano questa opzione. Impostazione predefinita: 1.0 . |
letti |
excludeAttribute |
Indica se escludere gli attributi negli elementi. Impostazione predefinita: false . |
letti |
mode |
Modalità per gestire i record danneggiati durante l'analisi.PERMISSIVE : per i record danneggiati, inserisce la stringa in formato non valido in un campo configurato da columnNameOfCorruptRecord e imposta i campi in formato non valido su null . Per mantenere i record danneggiati, è possibile impostare un campo di tipo string denominato columnNameOfCorruptRecord in uno schema definito dall'utente. Se il campo non è presente in uno schema, i record danneggiati vengono eliminati durante l'analisi. Quando si deduce uno schema, il parser aggiunge in modo implicito un campo columnNameOfCorruptRecord in uno schema di output.DROPMALFORMED : ignora i record danneggiati. Questa modalità non è supportata per le funzioni predefinite XML.FAILFAST : genera un'eccezione quando il parser soddisfa i record danneggiati. |
letti |
inferSchema |
Se true , tenta di dedurre un tipo appropriato per ogni colonna DataFrame risultante. Se false , tutte le colonne risultanti sono di tipo string . Impostazione predefinita:true . Le funzioni predefinite XML ignorano questa opzione. |
letti |
columnNameOfCorruptRecord |
Consente di rinominare il nuovo campo contenente una stringa in formato non valido creata dalla modalità PERMISSIVE . Impostazione predefinita: spark.sql.columnNameOfCorruptRecord . |
letti |
attributePrefix |
Prefisso per gli attributi per distinguere gli attributi dagli elementi. Questo sarà il prefisso per i nomi dei campi. Il valore predefinito è _ . Può essere vuoto per la lettura del codice XML, ma non per la scrittura. |
lettura, scrittura |
valueTag |
Tag utilizzato per i dati di tipo carattere all'interno di elementi che dispongono anche di attributi o elementi figlio. L'utente può specificare il campo valueTag nello schema oppure verrà aggiunto automaticamente durante l'inferenza dello schema quando i dati di tipo carattere sono presenti in elementi con altri elementi o attributi. Impostazione predefinita: _VALUE |
lettura, scrittura |
encoding |
Per la lettura, decodifica i file XML in base al tipo di codifica specificato. Per la scrittura, specifica la codifica (charset) dei file XML salvati. Le funzioni predefinite XML ignorano questa opzione. Impostazione predefinita: UTF-8 . |
lettura, scrittura |
ignoreSurroundingSpaces |
Definisce se gli spazi vuoti circostanti dai valori letti devono essere ignorati. Impostazione predefinita: true . I dati di tipo carattere solo spazi vuoti vengono ignorati. |
letti |
rowValidationXSDPath |
Percorso di un file XSD facoltativo utilizzato per convalidare il codice XML per ogni riga singolarmente. Le righe che non riescono a convalidare vengono considerate come gli errori di analisi come sopra. L'XSD non influisce in caso contrario sullo schema fornito o dedotto. | letti |
ignoreNamespace |
Se true , i prefissi degli spazi dei nomi sugli elementi e gli attributi XML vengono ignorati. I tag <abc:author> e <def:author> , ad esempio, vengono considerati come se entrambi siano solo <author> . Gli spazi dei nomi non possono essere ignorati nell'elemento rowTag , ma solo i relativi elementi figlio di lettura. L'analisi XML non è compatibile con lo spazio dei nomi anche se false . Impostazione predefinita: false . |
letti |
timestampFormat |
Stringa di formato timestamp personalizzata che segue il formato di modello datetime. Questo vale per il tipo timestamp . Impostazione predefinita: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] . |
lettura, scrittura |
timestampNTZFormat |
Stringa di formato personalizzata per timestamp senza fuso orario che segue il formato del modello datetime. Questo vale per il tipo TimestampNTZType. Impostazione predefinita:yyyy-MM-dd'T'HH:mm:ss[.SSS] |
lettura, scrittura |
dateFormat |
La stringa dei formati di data personalizzati seguono i formati del modello datetime. Questo vale per il tipo di dati. Impostazione predefinita: yyyy-MM-dd . |
lettura, scrittura |
locale |
Imposta le impostazioni locali come tag di lingua in formato IETF BCP 47. Ad esempio, locale viene usato durante l'analisi di date e timestamp. Impostazione predefinita: en-US . |
letti |
rootTag |
Tag radice dei file XML. Per esempio, in <books> <book><book>...</books> , il valore appropriato è books . È possibile includere attributi di base specificando un valore come books foo="bar" . Impostazione predefinita: ROWS . |
write |
declaration |
Contenuto della dichiarazione XML da scrivere all'inizio di ogni file XML di output, prima di rootTag . Ad esempio, un valore di foo causa la scrittura di <?xml foo?> . Impostare su una stringa vuota da eliminare. Impostazione predefinita: version="1.0" encoding="UTF-8" standalone="yes" . |
write |
arrayElementName |
Nome dell'elemento XML che racchiude ogni elemento di una colonna con valori di matrice durante la scrittura. Impostazione predefinita: item . |
write |
nullValue |
Imposta la rappresentazione in forma di stringa del valore null. Valore predefinito: stringa null . Quando si tratta di null , il parser non scrive attributi ed elementi per i campi. |
lettura, scrittura |
compression |
Codice di compressione da usare per il salvataggio nel file. Può trattarsi di uno dei nomi abbreviati senza distinzione tra maiuscole e minuscole note (none , bzip2 , gzip ,lz4 , snappy edeflate ). Le funzioni predefinite XML ignorano questa opzione. Impostazione predefinita: none . |
write |
validateName |
Se true, genera un errore in caso di errore di convalida del nome dell'elemento XML. Ad esempio, i nomi dei campi SQL possono avere spazi, ma i nomi degli elementi XML non possono. Impostazione predefinita:true . |
write |
readerCaseSensitive |
Specifica il comportamento di distinzione tra maiuscole e minuscole quando rescuedDataColumn è abilitato. Se true, salvare le colonne di dati i cui nomi differiscono per maiuscole e minuscole rispetto allo schema; in caso contrario, leggere i dati senza distinzione tra maiuscole e minuscole. Impostazione predefinita: true . |
letti |
rescuedDataColumn |
Indica se raccogliere tutti i dati che non possono essere analizzati a causa di una mancata corrispondenza del tipo di dati e della mancata corrispondenza dello schema (inclusa la combinazione di maiuscole e minuscole) in una colonna separata. Questa colonna è inclusa per impostazione predefinita quando si usa il caricatore automatico. Per altri dettagli, vedere Che cos'è la colonna di dati salvata?. Impostazione predefinita: nessuna. | letti |
Opzioni PARQUET
Opzione |
---|
datetimeRebaseMode Tipo: String Controlla la ribasamento dei valori DATE e TIMESTAMP tra i calendari gregoriani Julian e Proleptic. Valori consentiti: EXCEPTION , LEGACY eCORRECTED .Valore predefinito: LEGACY |
int96RebaseMode Tipo: String Controlla la ribasamento dei valori di timestamp INT96 tra i calendari gregoriani Julian e Proleptic. Valori consentiti: EXCEPTION , LEGACY eCORRECTED .Valore predefinito: LEGACY |
mergeSchema Tipo: Boolean Indica se dedurre lo schema tra più file e unire lo schema di ogni file. Valore predefinito: false |
readerCaseSensitive Tipo: Boolean Specifica il comportamento di distinzione tra maiuscole e minuscole quando rescuedDataColumn è abilitato. Se true, salvare le colonne di dati i cui nomi differiscono per maiuscole e minuscole rispetto allo schema; in caso contrario, leggere i dati senza distinzione tra maiuscole e minuscole.Valore predefinito: true |
rescuedDataColumn Tipo: String Indica se raccogliere tutti i dati che non possono essere analizzati a causa di: mancata corrispondenza del tipo di dati e mancata corrispondenza dello schema (incluse le maiuscole) in una colonna separata. Questa colonna è inclusa per impostazione predefinita quando si usa il caricatore automatico. Per altri dettagli, fare riferimento a Che cos'è la colonna di dati salvata?. Valore predefinito: Nessuno |
Opzioni AVRO
Opzione |
---|
avroSchema Tipo: String Schema facoltativo fornito da un utente in formato Avro. Quando si legge Avro, questa opzione può essere impostata su uno schema evoluto, compatibile ma diverso con lo schema Avro effettivo. Lo schema di deserializzazione sarà coerente con lo schema evoluto. Ad esempio, se si imposta uno schema evoluto contenente una colonna aggiuntiva con un valore predefinito, il risultato di lettura conterrà anche la nuova colonna. Valore predefinito: Nessuno |
datetimeRebaseMode Tipo: String Controlla la ribasamento dei valori DATE e TIMESTAMP tra i calendari gregoriani Julian e Proleptic. Valori consentiti: EXCEPTION , LEGACY eCORRECTED .Valore predefinito: LEGACY |
mergeSchema Tipo: Boolean Indica se dedurre lo schema tra più file e unire lo schema di ogni file. mergeSchema per Avro non rilassare i tipi di dati.Valore predefinito: false |
readerCaseSensitive Tipo: Boolean Specifica il comportamento di distinzione tra maiuscole e minuscole quando rescuedDataColumn è abilitato. Se true, salvare le colonne di dati i cui nomi differiscono per maiuscole e minuscole rispetto allo schema; in caso contrario, leggere i dati senza distinzione tra maiuscole e minuscole.Valore predefinito: true |
rescuedDataColumn Tipo: String Indica se raccogliere tutti i dati che non possono essere analizzati a causa di: mancata corrispondenza del tipo di dati e mancata corrispondenza dello schema (incluse le maiuscole) in una colonna separata. Questa colonna è inclusa per impostazione predefinita quando si usa il caricatore automatico. Per altri dettagli, fare riferimento a Che cos'è la colonna di dati salvata?. Valore predefinito: Nessuno |
Opzioni BINARYFILE
I file binari non dispongono di opzioni di configurazione aggiuntive.
Opzioni TEXT
Opzione |
---|
encoding Tipo: String Nome della codifica dei file TEXT. Vedere java.nio.charset.Charset per l'elenco delle opzioni.Valore predefinito: UTF-8 |
lineSep Tipo: String Stringa tra due record TEXT consecutivi. Valore predefinito: nessuno, che copre \r , \r\n e \n |
wholeText Tipo: Boolean Indica se leggere un file come singolo record. Valore predefinito: false |
Opzioni ORC
Opzione |
---|
mergeSchema Tipo: Boolean Indica se dedurre lo schema tra più file e unire lo schema di ogni file. Valore predefinito: false |