COPY INTO
S’applique à : Databricks SQL Databricks Runtime
Charge des données à partir d’un emplacement de fichier dans une table Delta. Cette opération peut être tentée à nouveau et est sans effet – Les fichiers déjà chargés dans l’emplacement source sont ignorés. Cela vaut même si les fichiers ont été modifiés depuis leur chargement. Pour obtenir des exemples, consultez Modèles courants de chargement de données utilisant COPY INTO.
Syntaxe
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) ] ) ]
Paramètres
target_table
Identifie une table Delta existante. Les target_table ne doivent pas inclure de spécification temporelle ou de spécification d’options.
Si le nom de la table est fourni sous la forme d’un emplacement, par exemple
delta.`/path/to/table`
, le catalogue Unity peut régir l’accès aux emplacements dans utilisant sur lesquels vous écrivez. Vous pouvez écrire dans un emplacement externe en :- Définissant l’emplacement en tant qu’emplacement externe et disposant des autorisations
WRITE FILES
sur cet emplacement externe. - Disposant des autorisations
WRITE FILES
sur des informations d’identification de stockage nommées qui fournissent l’autorisation d’écrire dans un emplacement à l’aide deCOPY INTO delta.`/some/location` WITH (CREDENTIAL <named-credential>)
Pour plus d’informations, consultez Se connecter au stockage d’objets cloud et aux services à l’aide du catalogue Unity.
- Définissant l’emplacement en tant qu’emplacement externe et disposant des autorisations
BY POSITION
| ( col_name [ , <col_name> … ] )Fait correspondre aux colonnes sources les colonnes de table cible par position ordinale. Le cast de type des colonnes mises en correspondance est effectué automatiquement.
Ce paramètre est pris en charge uniquement pour le format de fichier CSV sans en-tête. Vous devez spécifier la valeur
FILEFORMAT = CSV
.FORMAT_OPTIONS
doit également être défini sur("headers" = "false")
(FORMAT_OPTIONS ("headers" = "false")
est la valeur par défaut).Options de syntaxe 1 :
BY POSITION
- Fait automatiquement correspondre aux colonnes sources les colonnes de table cible par position ordinale.
- La correspondance de nom par défaut n’est pas utilisée pour la correspondance.
- Les colonnes
IDENTITY
et les colonnesGENERATED
de la table cible sont ignorées lors de la correspondance aux colonnes sources. - Si le nombre de colonnes sources n’est pas égal à celui des colonnes de la table cible filtrée,
COPY INTO
génère une erreur.
Options de syntaxe 2 :
( col_name [ , <col_name> ... ] )
- Fait correspondre aux colonnes sources les colonnes de la table cible spécifiées par position ordinale relative à l’aide d’une liste de noms de colonne de la table cible entre parenthèses, séparés par des virgules.
- L’ordre des colonnes de table d’origine et les noms de colonnes ne sont pas utilisés pour la correspondance.
- Les colonnes
IDENTITY
et les colonnesGENERATED
ne peuvent pas être spécifiées dans la liste des noms de colonne, sinonCOPY INTO
génère une erreur. - Les colonnes spécifiées ne peuvent pas être dupliquées.
- Quand le nombre de colonnes sources n’est pas égal à celui des colonnes de la table spécifiée,
COPY INTO
génère une erreur. - Pour les colonnes non spécifiées dans la liste des noms de colonne,
COPY INTO
attribue les valeurs par défaut, le cas échéant, sinon il attribueNULL
. Si une colonne ne peut accepter la valeur Null,COPY INTO
génère une erreur.
- Fait automatiquement correspondre aux colonnes sources les colonnes de table cible par position ordinale.
source
Emplacement du fichier à partir duquel charger les données. Les fichiers de cet emplacement doivent avoir le format spécifié dans
FILEFORMAT
. L’emplacement est fourni sous la forme d’un URI.L’accès à l’emplacement source peut être fourni via :
credential_name
Nom facultatif des informations d’identification utilisées pour accéder à l’emplacement de stockage ou y écrire des données. Vous utilisez ces informations d'identification uniquement si l'emplacement du fichier n'est pas inclus dans un emplacement externe. Consultez credential_name.
Informations d’identification temporaires inline.
Définition de l’emplacement source en tant qu’emplacement externe et disposant des autorisations
READ FILES
sur l’emplacement externe via le catalogue Unity.Utilisation d’informations d’identification de stockage nommées avec des autorisations
READ FILES
qui fournissent l’autorisation de lire à partir d’un emplacement via le catalogue Unity.
Vous n’avez pas besoin de fournir des informations d’identification incluses ou nommées si le chemin d’accès est déjà défini en tant qu’emplacement externe que vous avez l’autorisation d’utiliser. Consultez Créer un emplacement externe pour connecter le stockage cloud à Azure Databricks pour plus de détails.
Remarque
Si le chemin du fichier source est un chemin racine, veuillez ajouter une barre oblique (
/
) à la fin du chemin du fichier, par exemple,s3://my-bucket/
.Les options d’informations d’identification acceptées sont les suivantes :
AZURE_SAS_TOKEN
pour ADLS Gen2 et Stockage Blob AzureAWS_ACCESS_KEY
,AWS_SECRET_KEY
etAWS_SESSION_TOKEN
pour AWS S3
Les options de chiffrement acceptées sont les suivantes :
TYPE = 'AWS_SSE_C'
etMASTER_KEY
pour AWS S3
Consultez Charger des données à l’aide de COPY INTO avec des informations d’identification temporaires.
SELECT expression_list
Sélectionne les colonnes ou expressions spécifiées dans les données sources avant de les copier dans la table Delta. Vous pouvez utiliser n’importe quelle expression acceptant des instructions
SELECT
, y compris les opérations de fenêtre. Vous pouvez utiliser les expressions d'agrégation uniquement pour les agrégats globaux ; vous ne pouvez pas utiliserGROUP BY
sur des colonnes avec cette syntaxe.FILEFORMAT = data_source
Format des fichiers source à charger. Valeurs possibles :
CSV
,JSON
,AVRO
,ORC
,PARQUET
,TEXT
,BINARYFILE
.VALIDATE
S’applique à : Databricks SQL Databricks Runtime 10.4 LTS et ultérieur
Les données à charger dans une table sont validées, mais ne sont pas écrites dans la table. Ces validations comprennent :
- Indique si les données peuvent être analysées.
- Indique si le schéma correspond à celui de la table ou si le schéma doit évoluer.
- Indique si toutes les contraintes d’acceptation de valeurs Null et de validation sont respectées.
Par défaut, toutes les données à charger sont validées. Vous pouvez fournir un certain nombre de lignes à valider avec le mot clé
ROWS
, par exempleVALIDATE 15 ROWS
. L'instructionCOPY INTO
renvoie un aperçu des données de 50 lignes ou moins, lorsqu'un nombre inférieur à 50 est utilisé avec le mot cléROWS
).FILES
Liste des noms de fichiers à charger, avec une limite de 1 000 fichiers. Impossible à spécifier avec
PATTERN
.PATTERN
Modèle Glob qui identifie les fichiers à charger à partir du répertoire source. Impossible à spécifier avec
FILES
.Modèle Description ?
Correspond à n’importe quel caractère unique *
Correspond à zéro, un ou plusieurs caractères [abc]
Correspond à un seul caractère du jeu de caractères {a,b,c}. [a-z]
Correspond à un seul caractère de la plage de caractères {a…z}. [^a]
Correspond à un seul caractère qui ne fait pas partie du jeu ou de la plage de caractères {a}. Notez que le caractère ^
doit se trouver immédiatement à droite du crochet ouvrant.{ab,cd}
Correspond à une chaîne du jeu de chaînes {ab, cd}. {ab,c{de, fh}}
Correspond à une chaîne du jeu de chaînes {ab, cde, cfh}. FORMAT_OPTIONS
Options à passer au lecteur de sources de données Apache Spark pour le format spécifié. Voir Options de format pour chaque format de fichier.
COPY_OPTIONS
Options permettant de contrôler le fonctionnement de la commande
COPY INTO
.force
: booléenne, par défautfalse
. Avec la valeurtrue
, l'idempotence est désactivée et les fichiers sont chargés sans tenir compte du fait qu'ils ont déjà été chargés auparavant.mergeSchema
: booléenne, par défautfalse
. Avec la valeurtrue
, le schéma peut évoluer en fonction des données entrantes.
Appeler COPY INTO
simultanément
COPY INTO
prend en charge les appels simultanés sur la même table. Tant qu’elle COPY INTO
est appelée simultanément sur des ensembles distincts de fichiers d’entrée, chaque appel doit aboutir, sinon vous obtenez un conflit de transaction. COPY INTO
ne doit pas être appelé simultanément pour améliorer les performances ; une commande unique COPY INTO
avec plusieurs fichiers fonctionne généralement mieux que d’exécuter des commandes simultanées COPY INTO
avec un seul fichier chacune. COPY INTO
peut être appelé simultanément lorsque :
- Plusieurs producteurs de données n’ont pas un moyen facile de coordonner et ne peuvent pas effectuer un seul appel.
- Lorsqu’un répertoire très volumineux peut être ingéré sous-répertoire par sous-répertoire. Lors de l’ingestion de répertoires contenant un très grand nombre de fichiers, Databricks recommande d’utiliser Auto Loader lorsque cela est possible.
Accéder aux métadonnées des fichiers
Pour savoir comment accéder aux métadonnées pour les sources de données basées sur des fichiers, consultez la colonne Métadonnées de fichier.
Options de format
- Options génériques
JSON
optionsCSV
optionsXML
, optionsPARQUET
optionsAVRO
optionsBINARYFILE
optionsTEXT
optionsORC
options
Options génériques
Les options suivantes s’appliquent à tous les formats de fichier.
Option |
---|
ignoreCorruptFiles Entrez : Boolean Indique s’il faut ignorer les fichiers endommagés. Si la valeur est true, les travaux Spark continueront à s’exécuter lorsqu’ils rencontrent des fichiers manquants et le contenu qui a été lu sera toujours renvoyé. Observable sous la forme numSkippedCorruptFiles dans lacolonne operationMetrics de l’historique Delta Lake. Disponible dans Databricks Runtime 11.3 LTS et versions ultérieures.Valeur par défaut : false |
ignoreMissingFiles Entrez : Boolean Indique s’il faut ignorer les fichiers manquants. Si la valeur est true, les travaux Spark continueront à s’exécuter lorsqu’ils rencontrent des fichiers corrompus et le contenu qui a été lu sera toujours renvoyé. Disponible dans Databricks Runtime 11.3 LTS et versions ultérieures. Valeur par défaut : false (true pour COPY INTO ) |
modifiedAfter Type : Timestamp String , par exemple, 2021-01-01 00:00:00.000000 UTC+0 Timestamp facultatif pour recevoir les fichiers qui comportent un timestamp de modification après le timestamp fourni. Valeur par défaut : aucune |
modifiedBefore Type : Timestamp String , par exemple, 2021-01-01 00:00:00.000000 UTC+0 Timestamp facultatif pour recevoir les fichiers qui comportent un timestamp de modification avant le timestamp fourni. Valeur par défaut : aucune |
pathGlobFilter ou fileNamePattern Entrez : String Modèle Glob potentiel à fournir pour choisir des fichiers. Équivalent à PATTERN dans COPY INTO . fileNamePattern peut être utilisé dans read_files .Valeur par défaut : aucune |
recursiveFileLookup Entrez : Boolean S’il faut ignorer l’inférence de partition pendant l’inférence de schéma. Cette opération n’affecte les fichiers qui sont chargés. Valeur par défaut : false |
JSON
options
Option |
---|
allowBackslashEscapingAnyCharacter Entrez : Boolean Indique s’il faut autoriser les barres obliques inverses pour placer dans une séquence d'échappement tout caractère qui suit. Si cette option n’est pas activée, seuls les caractères explicitement répertoriés par la spécification JSON peuvent être placés dans une séquence d’échappement. Valeur par défaut : false |
allowComments Entrez : Boolean Indique s’il faut autoriser ou non l’utilisation de commentaires de style Java, C et C++ (variétés '/' , '*' et '//' ) dans le contenu analysé.Valeur par défaut : false |
allowNonNumericNumbers Entrez : Boolean Indique s’il faut autoriser l'ensemble des jetons non numériques ( NaN ) comme valeurs légales de nombres flottants.Valeur par défaut : true |
allowNumericLeadingZeros Entrez : Boolean Indique s’il faut autoriser les nombres entiers à commencer par des zéros supplémentaires (pouvant être ignorés) (par exemple, 000001 ).Valeur par défaut : false |
allowSingleQuotes Entrez : Boolean Indique s’il faut autoriser l'utilisation de guillemets simples (apostrophe, caractère '\' ) pour citer des chaînes de caractères (noms et valeurs de chaînes).Valeur par défaut : true |
allowUnquotedControlChars Entrez : Boolean Indique s’il faut autoriser les chaînes JSON à contenir des caractères de contrôle sans séquence d'échappement (caractères ASCII dont la valeur est inférieure à 32, y compris tabulation et saut de ligne). Valeur par défaut : false |
allowUnquotedFieldNames Entrez : Boolean Indique s’il faut autoriser l’utilisation de noms de champs sans guillemets (autorisés par JavaScript, mais pas par la spécification JSON). Valeur par défaut : false |
badRecordsPath Entrez : String Chemin d’accès pour stocker les fichiers contenant des informations sur les enregistrements JSON incorrects. Valeur par défaut : aucune |
columnNameOfCorruptRecord Entrez : String Colonne pour le stockage des enregistrements incorrects et qui ne peuvent pas être analysés. Si l’élément mode de l'analyse est défini comme DROPMALFORMED , cette colonne sera vide.Valeur par défaut : _corrupt_record |
dateFormat Entrez : String Format d’analyse des chaînes de date. Valeur par défaut : yyyy-MM-dd |
dropFieldIfAllNull Entrez : Boolean Indique s’il faut ignorer les colonnes de toutes les valeurs Null ou des tableaux/structs vides pendant l’inférence de schéma. Valeur par défaut : false |
encoding ou charset Entrez : String Nom de l’encodage des fichiers JSON. Consultez java.nio.charset.Charset pour obtenir la liste des options. Vous ne pouvez pas utiliser UTF-16 et UTF-32 lorsque multiline est true .Valeur par défaut : UTF-8 |
inferTimestamp Entrez : Boolean Indique s’il faut essayer de déduire les chaînes timestamp en tant que TimestampType . Lorsque définie surtrue , l’inférence de schéma peut prendre beaucoup plus de temps. Vous devez activer cloudFiles.inferColumnTypes pour une utilisation avec Auto Loader (Chargeur automatique).Valeur par défaut : false |
lineSep Entrez : String Chaîne entre deux enregistrements JSON consécutifs. Valeur par défaut : Aucune, qui couvre \r , \r\n et \n |
locale Entrez : String Identificateur java.util.Locale . Définit la date, le timestamp et l’analyse décimale par défaut de l’élément JSON.Valeur par défaut : US |
mode Entrez : String Mode de l’analyseur pour la gestion des enregistrements mal formés. Valeurs possibles 'PERMISSIVE' 'DROPMALFORMED' , ou 'FAILFAST' .Valeur par défaut : PERMISSIVE |
multiLine Entrez : Boolean Indique si les enregistrements JSON s’étendent sur plusieurs lignes. Valeur par défaut : false |
prefersDecimal Entrez : Boolean Tente de déduire des chaînes en tant que DecimalType au lieu du type float ou double lorsque cela est possible. Vous devez également utiliser une inférence de schéma, en activantinferSchema ou en utilisant cloudFiles.inferColumnTypes avec Chargeur automatique.Valeur par défaut : false |
primitivesAsString Entrez : Boolean Indique s’il faut déduire les types primitifs comme les nombres et les valeurs booléennes comme StringType .Valeur par défaut : false |
readerCaseSensitive Entrez : Boolean Spécifie le comportement de respect de la casse lorsque rescuedDataColumn est activé. Si la valeur est true, sauver les colonnes de données du schéma dont les noms diffèrent au niveau de la casse. Sinon, lire les données sans respect de la casse. Disponible dans Databricks Runtime13.3 et versions ultérieures. Valeur par défaut : true |
rescuedDataColumn Entrez : String Si vous souhaitez collecter toutes les données qui ne peuvent pas être analysées en raison d'une erreur de type de données ou de schéma (y compris la casse des colonnes) dans une colonne distincte. Cette colonne est incluse par défaut lors de l’utilisation d’Auto Loader. Pour plus de détails, reportez-vous à Qu’est-ce que la colonne des données récupérées ?. Valeur par défaut : aucune |
singleVariantColumn Entrez : String Indique s’il faut ingérer l’intégralité du document JSON, analysé dans une seule colonne de variante avec la chaîne donnée comme nom de la colonne. Si cette option est désactivée, les champs JSON sont ingérés dans leurs propres colonnes. Valeur par défaut : aucune |
timestampFormat Entrez : String Format d’analyse des chaînes de timestamp. Valeur par défaut : yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] |
timeZone Entrez : String L’élément java.time.ZoneId à utiliser lors de l'analyse des timestamps et des dates.Valeur par défaut : aucune |
CSV
options
Option |
---|
badRecordsPath Entrez : String Chemin d’accès pour stocker les fichiers contenant des informations sur les enregistrements CSV incorrects. Valeur par défaut : aucune |
charToEscapeQuoteEscaping Entrez : Char Caractère utilisé pour placer dans une séquence d’échappement le caractère utilisé pour les guillemets d’échappement. Par exemple, pour l'enregistrement suivant : [ " a\\", b ] :- Si le caractère d'échappement de '\' n'est pas défini, l'enregistrement ne sera pas analysé. L’analyseur lira les caractères : [a],[\],["],[,],[ ],[b] et générera une erreur car il ne trouve pas de guillemet fermant.- Si le caractère d'échappement de '\' est défini comme '\' , l'enregistrement sera lu avec 2 valeurs : [a\] et [b] .Valeur par défaut : '\0' |
columnNameOfCorruptRecord > [!NOTE] >> Pris en charge pour le chargeur automatique. Non pris en charge pour COPY INTO .Entrez : String Colonne pour le stockage des enregistrements incorrects et qui ne peuvent pas être analysés. Si l’élément mode de l'analyse est défini comme DROPMALFORMED , cette colonne sera vide.Valeur par défaut : _corrupt_record |
comment Entrez : Char Définit le caractère qui représente un commentaire de ligne lorsqu’il se trouve au début d’une ligne de texte. Utilisez '\0' pour désactiver les commentaires.Valeur par défaut : '\u0000' |
dateFormat Entrez : String Format d’analyse des chaînes de date. Valeur par défaut : yyyy-MM-dd |
emptyValue Entrez : String Représentation sous forme de chaîne d’une valeur vide. Valeur par défaut : "" |
encoding ou charset Entrez : String Nom de l’encodage des fichiers CSV. Pour obtenir la liste des options, consultez java.nio.charset.Charset . UTF-16 et UTF-32 ne peuvent pas être utilisées lorsque multiline est true .Valeur par défaut : UTF-8 |
enforceSchema Entrez : Boolean Indique s’il faut appliquer de force le schéma spécifié ou déduit aux fichiers CSV. Si l’option est activée, les en-têtes des fichiers CSV sont ignorés. Cette option est ignorée par défaut lors de l’utilisation d’Auto Loader pour récupérer des données et permettre l’évolution du schéma. Valeur par défaut : true |
escape Entrez : Char Caractère d’échappement à utiliser lors de l’analyse des données. Valeur par défaut : '\' |
header Entrez : Boolean Indique si les fichiers CSV contiennent un en-tête. Auto Loader suppose que les fichiers comportent des en-têtes lors de l’inférence du schéma. Valeur par défaut : false |
ignoreLeadingWhiteSpace Entrez : Boolean Indique s’il faut ignorer les espaces blancs de début pour chaque valeur analysée. Valeur par défaut : false |
ignoreTrailingWhiteSpace Entrez : Boolean Indique s’il faut ignorer les espaces blancs de fin pour chaque valeur analysée. Valeur par défaut : false |
inferSchema Entrez : Boolean Indique s’il faut déduire les types de données des enregistrements CSV analysés ou supposer que toutes les colonnes sont de type StringType . Nécessite un passage supplémentaire sur les données si la valeur est true . Pour Chargeur automatique, utilisez cloudFiles.inferColumnTypes à la place.Valeur par défaut : false |
lineSep Entrez : String Chaîne entre deux enregistrements CSV consécutifs. Valeur par défaut : Aucune, qui couvre \r , \r\n et \n |
locale Entrez : String Identificateur java.util.Locale . Définit la date, le timestamp et l’analyse décimale par défaut de l’élément CSV.Valeur par défaut : US |
maxCharsPerColumn Entrez : Int Nombre maximal de caractères attendus d’une valeur à analyser. Peut être utilisé pour éviter les erreurs de mémoire. La valeur par défaut est -1 , ce qui signifie illimité.Valeur par défaut : -1 |
maxColumns Entrez : Int Limite inconditionnelle du nombre de colonnes qu’un enregistrement peut avoir. Valeur par défaut : 20480 |
mergeSchema Entrez : Boolean Indique s’il faut déduire le schéma entre plusieurs fichiers et fusionner le schéma de chaque fichier. Option activée par défaut pour Auto Loader lors de l’inférence du schéma. Valeur par défaut : false |
mode Entrez : String Mode de l’analyseur pour la gestion des enregistrements mal formés. Valeurs possibles 'PERMISSIVE' 'DROPMALFORMED' et 'FAILFAST' .Valeur par défaut : PERMISSIVE |
multiLine Entrez : Boolean Indique si les enregistrements CSV s’étendent sur plusieurs lignes. Valeur par défaut : false |
nanValue Entrez : String Représentation sous forme de chaîne d'une valeur non numérique lors de l'analyse des colonnes FloatType et DoubleType .Valeur par défaut : "NaN" |
negativeInf Entrez : String Représentation sous forme de chaîne de l'infini négatif lors de l'analyse des colonnes FloatType ou DoubleType .Valeur par défaut : "-Inf" |
nullValue Entrez : String Représentation sous forme de chaîne d’une valeur Null. Valeur par défaut : "" |
parserCaseSensitive (déconseillé)Entrez : Boolean Lors de la lecture de fichiers, indique s’il faut aligner les colonnes déclarées dans l’en-tête avec le cas de schéma en respectant la casse. Il s’agit de true par défaut pour Auto Loader. Les colonnes qui diffèrent selon la casse seront récupérées dans le rescuedDataColumn s'il est activé. Cette option a été abandonnée au profit de readerCaseSensitive .Valeur par défaut : false |
positiveInf Entrez : String Représentation sous forme de chaîne de l'infini positif lors de l'analyse des colonnes FloatType ou DoubleType .Valeur par défaut : "Inf" |
preferDate Entrez : Boolean Tente de déduire des chaînes en tant que dates au lieu de timestamp lorsque cela est possible. Vous devez également utiliser l’inférence de schéma, en activant inferSchema ou en utilisantcloudFiles.inferColumnTypes avec Chargeur automatique.Valeur par défaut : true |
quote Entrez : Char Caractère utilisé pour les valeurs d’échappement où le délimiteur de champ fait partie de la valeur. Valeur par défaut : " |
readerCaseSensitive Entrez : Boolean Spécifie le comportement de respect de la casse lorsque rescuedDataColumn est activé. Si la valeur est true, sauver les colonnes de données du schéma dont les noms diffèrent au niveau de la casse. Sinon, lire les données sans respect de la casse.Valeur par défaut : true |
rescuedDataColumn Entrez : String Si vous souhaitez collecter toutes les données qui ne peuvent pas être analysées en raison : d'une erreur de type de données et de schéma (y compris la casse des colonnes) dans une colonne distincte. Cette colonne est incluse par défaut lors de l’utilisation d’Auto Loader. Pour plus de détails, reportez-vous à Qu’est-ce que la colonne des données récupérées ?. Valeur par défaut : aucune |
sep ou delimiter Entrez : String Chaîne de séparateur entre les colonnes. Valeur par défaut : "," |
skipRows Entrez : Int Nombre de lignes à ignorer à partir du début du fichier CSV (y compris les lignes commentées et les lignes vides). Si header a la valeur true, l’en-tête sera la première ligne non ignorée et non commentée.Valeur par défaut : 0 |
timestampFormat Entrez : String Format d’analyse des chaînes de timestamp. Valeur par défaut : yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] |
timeZone Entrez : String L’élément java.time.ZoneId à utiliser lors de l'analyse des timestamps et des dates.Valeur par défaut : aucune |
unescapedQuoteHandling Entrez : String Stratégie de gestion des guillemets sans séquence d’échappement. Options autorisées : - STOP_AT_CLOSING_QUOTE : Si l’entrée contient des guillemets sans séquence d’échappement, accumuler le caractère de guillemet et poursuivre l’analyse de la valeur comme une valeur entre guillemets, jusqu’à ce qu’un guillemet fermant soit trouvé.- BACK_TO_DELIMITER : Si l’entrée contient des guillemets sans séquence d’échappement, la valeur est considérée comme une valeur sans guillemets. L'analyseur accumulera tous les caractères de la valeur analysée actuelle jusqu'à trouver le délimiteur défini par sep . Si la valeur ne contient aucun délimiteur, l’analyseur continue à accumuler les caractères de l’entrée jusqu’à trouver un délimiteur ou une fin de ligne.- STOP_AT_DELIMITER : Si l’entrée contient des guillemets sans séquence d’échappement, la valeur est considérée comme une valeur sans guillemets. L'analyseur accumulera tous les caractères jusqu'à trouver le délimiteur défini par sep ou une ligne de fin.- SKIP_VALUE : Si l’entrée contient des guillemets sans séquence d’échappement, le contenu analysé pour la valeur donnée est ignoré (jusqu’au prochain délimiteur) et la valeur définie dans nullValue est produite à la place.- RAISE_ERROR : Si l’entrée contient des guillemets sans séquence d’échappement, uneTextParsingException sera levée.Valeur par défaut : STOP_AT_DELIMITER |
XML
options
Option | Description | Étendue |
---|---|---|
rowTag |
La balise de ligne des fichiers XML à traiter comme une ligne. Dans l’exemple XML <books> <book><book>...<books> , la valeur appropriée est book . C'est une option obligatoire. |
lire |
samplingRatio |
Définit une fraction de lignes utilisées pour l’inférence de schéma. Les fonctions intégrées XML ignorent cette option. Par défaut : 1.0 . |
lire |
excludeAttribute |
Indique s’il faut exclure des attributs dans les éléments. Par défaut : false . |
lire |
mode |
Mode de traitement des enregistrements endommagés pendant l’analyse.PERMISSIVE : pour les enregistrements endommagés, place la chaîne malformée dans un champ configuré par columnNameOfCorruptRecord et définit les champs malformés sur null . Pour conserver les enregistrements corrompus, vous pouvez définir un champ de type string nommé columnNameOfCorruptRecord dans un schéma défini par l’utilisateur. Si un schéma n’a pas le champ, les enregistrements endommagés sont supprimés pendant l’analyse. Lors de l’inférence d’un schéma, l’analyseur ajoute implicitement un champ columnNameOfCorruptRecord dans un schéma de sortie.DROPMALFORMED : ignore les enregistrements endommagés. Ce mode n’est pas pris en charge pour les fonctions intégrées XML.FAILFAST : lève une exception lorsque l’analyseur rencontre des enregistrements endommagés. |
lire |
inferSchema |
Si true , tente de déduire un type approprié pour chaque colonne DataFrame résultante. Si false , toutes les colonnes résultantes sont de type string . Valeur par défaut :true . Les fonctions intégrées XML ignorent cette option. |
lire |
columnNameOfCorruptRecord |
Permet de renommer le nouveau champ qui contient une chaîne malformée créée par le mode PERMISSIVE . Par défaut : spark.sql.columnNameOfCorruptRecord . |
lire |
attributePrefix |
Le préfixe des attributs permettant de les différencier des éléments. Il s’agira du préfixe pour les noms de champs. La valeur par défaut est _ . Peut être vide pour lire du code XML, mais pas pour l’écriture. |
lecture, écriture |
valueTag |
La balise utilisée pour les données caractères dans les éléments qui ont également des éléments d’attributs ou d’éléments enfants. L’utilisateur peut spécifier le champ valueTag dans le schéma ou il sera ajouté automatiquement pendant l’inférence du schéma lorsque les données caractères sont présentes dans des éléments avec d’autres éléments ou attributs. Valeur par défaut : _VALUE |
lecture, écriture |
encoding |
Pour la lecture, décode les fichiers XML par le type d’encodage donné. Pour l’écriture, spécifie l’encodage (charset) des fichiers XML enregistrés. Les fonctions intégrées XML ignorent cette option. Par défaut : UTF-8 . |
lecture, écriture |
ignoreSurroundingSpaces |
Définit si les espaces blancs entourant les valeurs lues doivent être ignorés. Par défaut : true . Les données caractères en espace blanc uniquement sont ignorées. |
lire |
rowValidationXSDPath |
Chemin d’accès à un fichier XSD facultatif utilisé pour valider le code XML de chaque ligne individuellement. Les lignes qui ne peuvent pas être validées sont traitées comme des erreurs d’analyse comme indiqué ci-dessus. Le XSD n’affecte pas le schéma fourni ou inféré. | lire |
ignoreNamespace |
Si true , les préfixes d’espaces de noms sur les éléments et attributs XML sont ignorés. Les balises <abc:author> et <def:author> , par exemple, sont traitées comme si elles étaient simplement <author> . Les espaces de noms ne peuvent pas être ignorés sur l’élément rowTag , uniquement ses enfants en lecture. L’analyse XML ne prend pas en compte l’espace de noms même si false . Par défaut : false . |
lire |
timestampFormat |
Chaîne de format d’horodotage personnalisée qui suit le format de modèle datetime. Cela s’applique au type timestamp . Par défaut : yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] . |
lecture, écriture |
timestampNTZFormat |
Chaîne de format personnalisée pour l’horodatage sans fuseau horaire qui suit le format de modèle datetime. Cela s’applique au type TimestampNTZType. Valeur par défaut :yyyy-MM-dd'T'HH:mm:ss[.SSS] |
lecture, écriture |
dateFormat |
Chaîne de format de date personnalisée qui suit le format de modèle datetime. S’applique au type date. Par défaut : yyyy-MM-dd . |
lecture, écriture |
locale |
Définit des paramètres régionaux comme étiquette de langue au format IETF BCP 47. Par exemple, locale est utilisé pour l’analyse des dates et des horodatages. Par défaut : en-US . |
lire |
rootTag |
Balise racine des fichiers XML. Par exemple, dans <books> <book><book>...</books> , la valeur appropriée est books . Vous pouvez inclure des attributs de base en spécifiant une valeur comme books foo="bar" . Par défaut : ROWS . |
écrire |
declaration |
Contenu de la déclaration XML à écrire au début de chaque fichier XML de sortie, avant le rootTag . Par exemple, une valeur de foo entraîne l’écriture de <?xml foo?> . Définissez la fonction sur une chaîne vide pour la supprimer. Valeur par défaut : version="1.0" encoding="UTF-8" standalone="yes" . |
écrire |
arrayElementName |
Nom de l’élément XML qui entoure chaque élément d’une colonne matricielle lors de l’écriture. Par défaut : item . |
écrire |
nullValue |
Définit la représentation sous forme de chaîne de caractères d’une valeur nulle. Valeur par défaut : chaîne null . Quand il s’agit de null , l’analyseur n’écrit pas d’attributs et d’éléments pour les champs. |
lecture, écriture |
compression |
Code de compression à utiliser lors de l’enregistrement dans un fichier. Il peut s’agir de l’un des noms raccourcis insensibles à la casse connus (none , bzip2 , gzip , lz4 , snappy etdeflate ). Les fonctions intégrées XML ignorent cette option. Par défaut : none . |
écrire |
validateName |
Si la valeur est true, lève une erreur lors de l’échec de validation du nom d’élément XML. Par exemple, les noms de champs SQL peuvent avoir des espaces, mais les noms d’éléments XML ne peuvent pas. Valeur par défaut :true . |
écrire |
readerCaseSensitive |
Spécifie le comportement de respect de la casse lorsque rescuedDataColumn est activé. Si la valeur est true, sauver les colonnes de données du schéma dont les noms diffèrent au niveau de la casse. Sinon, lire les données sans respect de la casse. Par défaut : true . |
lire |
rescuedDataColumn |
Si vous souhaitez collecter toutes les données qui ne peuvent pas être analysées en raison d’une erreur de type de données et de schéma (y compris la casse des colonnes) dans une colonne distincte. Cette colonne est incluse par défaut lors de l’utilisation d’Auto Loader. Pour plus d’informations, consultez Qu’est-ce que la colonne de données récupérées ? Valeur par défaut : None. | lire |
PARQUET
options
Option |
---|
datetimeRebaseMode Entrez : String Contrôle la relocalisation des valeurs DATE et TIMESTAMP entre les calendriers julien et grégorien proleptique. Valeurs autorisées : EXCEPTION , LEGACY etCORRECTED .Valeur par défaut : LEGACY |
int96RebaseMode Entrez : String Contrôle la relocalisation des valeurs de timestamp INT96 entre les calendriers julien et grégorien proleptique. Valeurs autorisées : EXCEPTION , LEGACY etCORRECTED .Valeur par défaut : LEGACY |
mergeSchema Entrez : Boolean Indique s’il faut déduire le schéma entre plusieurs fichiers et fusionner le schéma de chaque fichier. Valeur par défaut : false |
readerCaseSensitive Entrez : Boolean Spécifie le comportement de respect de la casse lorsque rescuedDataColumn est activé. Si la valeur est true, sauver les colonnes de données du schéma dont les noms diffèrent au niveau de la casse. Sinon, lire les données sans respect de la casse.Valeur par défaut : true |
rescuedDataColumn Entrez : String Si vous souhaitez collecter toutes les données qui ne peuvent pas être analysées en raison : d'une erreur de type de données et de schéma (y compris la casse des colonnes) dans une colonne distincte. Cette colonne est incluse par défaut lors de l’utilisation d’Auto Loader. Pour plus de détails, reportez-vous à Qu’est-ce que la colonne des données récupérées ?. Valeur par défaut : aucune |
AVRO
options
Option |
---|
avroSchema Entrez : String Schéma facultatif fourni par un utilisateur au format Avro. Lors de la lecture Avro, cette option peut être définie sur un schéma évolué, qui est compatible mais différent du schéma Avro réel. Le schéma de désérialisation sera cohérent avec le schéma évolué. Par exemple, si vous définissez un schéma évolué contenant une colonne supplémentaire avec une valeur par défaut, le résultat de la lecture contiendra également la nouvelle colonne. Valeur par défaut : aucune |
datetimeRebaseMode Entrez : String Contrôle la relocalisation des valeurs DATE et TIMESTAMP entre les calendriers julien et grégorien proleptique. Valeurs autorisées : EXCEPTION , LEGACY etCORRECTED .Valeur par défaut : LEGACY |
mergeSchema Entrez : Boolean Indique s’il faut déduire le schéma entre plusieurs fichiers et fusionner le schéma de chaque fichier. mergeSchema pour Avro n'assouplit pas les types de données.Valeur par défaut : false |
readerCaseSensitive Entrez : Boolean Spécifie le comportement de respect de la casse lorsque rescuedDataColumn est activé. Si la valeur est true, sauver les colonnes de données du schéma dont les noms diffèrent au niveau de la casse. Sinon, lire les données sans respect de la casse.Valeur par défaut : true |
rescuedDataColumn Entrez : String Si vous souhaitez collecter toutes les données qui ne peuvent pas être analysées en raison : d'une erreur de type de données et de schéma (y compris la casse des colonnes) dans une colonne distincte. Cette colonne est incluse par défaut lors de l’utilisation d’Auto Loader. Pour plus de détails, reportez-vous à Qu’est-ce que la colonne des données récupérées ?. Valeur par défaut : aucune |
BINARYFILE
options
Les fichiers binaires n’ont pas d’autres options de configuration.
TEXT
options
Option |
---|
encoding Entrez : String Nom de l’encodage des fichiers TEXT. Consultez java.nio.charset.Charset pour obtenir la liste des options.Valeur par défaut : UTF-8 |
lineSep Entrez : String Chaîne entre deux enregistrements TEXT consécutifs. Valeur par défaut : Aucune, qui couvre \r , \r\n et \n |
wholeText Entrez : Boolean Indique si un fichier doit être lu en tant qu’enregistrement unique. Valeur par défaut : false |
ORC
options
Option |
---|
mergeSchema Entrez : Boolean Indique s’il faut déduire le schéma entre plusieurs fichiers et fusionner le schéma de chaque fichier. Valeur par défaut : false |