COPY INTO

S’applique à :case marquée oui Databricks SQL case marquée oui Databricks Runtime

Charge des données à partir d’un emplacement de fichier dans une table Delta. Il s’agit d’une opération idempotente et qu’il est possible de retenter : les fichiers de l'emplacement source qui ont déjà été chargés sont ignorés. Pour obtenir des exemples, consultez Modèles courants de chargement de données utilisant COPY INTO.

Syntaxe

COPY INTO target_table
  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. target_table ne doit pas inclure une spécification temporelle.

    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 de COPY INTO delta.`/some/location` WITH (CREDENTIAL <named-credential>)

    Pour obtenir d’autres détails, consultez Se connecter au stockage d’objets cloud à l’aide de Unity Catalog.

  • 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 Azure
    • AWS_ACCESS_KEY, AWS_SECRET_KEY et AWS_SESSION_TOKEN pour AWS S3

    Les options de chiffrement acceptées sont les suivantes :

    • TYPE = 'AWS_SSE_C' et MASTER_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 utiliser GROUP 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 à :coche marquée oui Databricks SQL coche marquée oui Databricks Runtime 10.4 LTS et versions ultérieures

    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 exemple VALIDATE 15 ROWS. L'instruction COPY 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éfaut false. Avec la valeur true, 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éfaut false. Avec la valeur true, 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

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 la
colonne 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 sur
true, 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 activant
inferSchema 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 Runtime
13.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
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 utilisant
cloudFiles.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, une
TextParsingException 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 sans respect de la casse connus (none, bzip2, gzip, lz4, snappy', and<br>deflate`). 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 et
CORRECTED.

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 et
CORRECTED.

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 et
CORRECTED.

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