Options d’Auto Loader
Les options de configuration propres à la source cloudFiles
sont précédées par cloudFiles
afin qu’elles se trouvent dans un espace de noms distinct des autres options de source de flux structuré.
- Options courantes d’Auto Loader
- Options de liste de répertoires
- Options de notification de fichiers
- Options de format de fichier
- Options spécifiques au cloud
Options d’Auto Loader courantes
Vous pouvez configurer les options suivantes pour le mode Liste de répertoires ou Notification de fichiers.
Option |
---|
cloudFiles.allowOverwrites Entrez : Boolean Indique s’il faut autoriser les modifications des fichiers du répertoire d’entrée à remplacer les données existantes. Il existe quelques avertissements concernant l’activation de cette configuration. Pour plus d’informations, reportez-vous à Le processus de chargement automatique du fichier lorsque du traitement du fichier est-il ajouté ou remplacé ? Valeur par défaut : false |
cloudFiles.backfillInterval Entrez : Interval String Auto Loader peut déclencher des renvois asynchrones à un intervalle donné, par exemple, 1 day pour un renvoi une fois par jour ou 1 week pour un renvoi une fois par semaine. Les systèmes de notification d’événements de fichiers ne garantissent pas une livraison à 100 % de tous les fichiers qui ont été chargés. Vous pouvez donc utiliser des renvois pour garantir que tous les fichiers seront finalement traités, disponibles dans Databricks Runtime 8.4 (EoS) et versions ultérieures.Valeur par défaut : aucune |
cloudFiles.format Entrez : String Le format du fichier de données dans le chemin d’accès source. Les valeurs autorisées sont les suivantes : - avro : Fichier Avro- binaryFile : Fichier binaire- csv Lire les fichiers CSV- json : Fichier JSON- orc : Fichier ORC- parquet : Lire des fichiers Parquet à l’aide d’Azure Databricks- text : Fichier texteValeur par défaut : aucune (option obligatoire) |
cloudFiles.includeExistingFiles Entrez : Boolean Indique si les fichiers existants doivent être inclus dans le chemin d’entrée du traitement du flux ou si seuls les nouveaux fichiers arrivant après la configuration initiale doivent être traités. Cette option est évaluée uniquement lorsque vous démarrez un flux pour la première fois. La modification de cette option après le redémarrage du flux n’a aucun effet. Valeur par défaut : true |
cloudFiles.inferColumnTypes Entrez : Boolean Indique s’il faut déduire les types de colonnes exacts lors de l’utilisation de l’inférence de schéma. Par défaut, les colonnes sont déduites sous forme de chaînes lors de l’inférence de jeux de données JSON et CSV. Pour plus d’informations, consultez Inférence de schéma. Valeur par défaut : false |
cloudFiles.maxBytesPerTrigger Entrez : Byte String Nombre maximal de nouveaux octets à traiter dans chaque déclencheur. Vous pouvez spécifier une chaîne d’octets comme 10g pour limiter chaque microlot à 10 Go de données. Il s’agit d’une valeur maximale non stricte. Si vous avez des fichiers de 3 Go chacun, Azure Databricks traite 12 Go dans un microlot. En cas d’utilisation avec cloudFiles.maxFilesPerTrigger , Azure Databricks consomme jusqu’à la limite inférieure de cloudFiles.maxFilesPerTrigger ou cloudFiles.maxBytesPerTrigger , selon celle qui est atteinte en premier. Cette option n’a pas d’effet quand elle est utilisée avec Trigger.Once() (Trigger.Once() est déprécié).Valeur par défaut : aucune |
cloudFiles.maxFileAge Entrez : Interval String Durée de suivi d’un événement de fichier à des fins de déduplication. Databricks ne recommande pas de régler ce paramètre, sauf si vous ingérez des données de l’ordre de millions de fichiers par heure. Pour plus d’informations, consultez la section relative à la rétention des événements. Un réglage cloudFiles.maxFileAge trop agressif peut entraîner des problèmes de qualité des données, notamment l'ingestion des données en double ou des fichiers manquants. Par conséquent, Databricks recommande un paramètre conservateur pour cloudFiles.maxFileAge , 90 jours, par exemple. Cette durée est similaire à ce que les solutions d'ingestion de données comparables recommandent.Valeur par défaut : aucune |
cloudFiles.maxFilesPerTrigger Entrez : Integer Nombre maximal de nouveaux fichiers à traiter dans chaque déclencheur. En cas d’utilisation avec cloudFiles.maxBytesPerTrigger , Azure Databricks consomme jusqu’à la limite inférieure de cloudFiles.maxFilesPerTrigger ou cloudFiles.maxBytesPerTrigger , selon celle qui est atteinte en premier. Cette option n’a aucun effet lorsqu’elle est utilisée avec Trigger.Once() (déprécié).Valeur par défaut : 1000 |
cloudFiles.partitionColumns Entrez : String Liste de colonnes de partition de type Hive, séparées par des virgules, que vous souhaitez déduire de la structure de répertoire des fichiers. Les colonnes de partition de type Hive sont des paires clé-valeur associées à un signe d’égalité, par exemple <base-path>/a=x/b=1/c=y/file.format . Dans cet exemple, les colonnes de partition sont a , b et c . Par défaut, ces colonnes sont automatiquement ajoutées à votre schéma, si vous utilisez l’inférence de schéma et fournissez le <base-path> à partir duquel charger les données. Si vous fournissez un schéma, Auto Loader s’attend à ce que ces colonnes soient incluses dans le schéma. Si vous ne voulez pas que ces colonnes fassent partie de votre schéma, vous pouvez spécifier "" pour ignorer ces colonnes. En outre, vous pouvez utiliser cette option lorsque vous souhaitez que les colonnes soient déduites du chemin d’accès au fichier dans les structures de répertoire complexes, comme dans l’exemple ci-dessous :<base-path>/year=2022/week=1/file1.csv <base-path>/year=2022/month=2/day=3/file2.csv <base-path>/year=2022/month=2/day=4/file3.csv En spécifiant cloudFiles.partitionColumns sous la forme year,month,day , vous obtiendrezyear=2022 pour file1.csv , mais les colonnes month et day seront null .month et day seront analysées correctement pour file2.csv et file3.csv .Valeur par défaut : aucune |
cloudFiles.schemaEvolutionMode Entrez : String Mode d’évolution du schéma à mesure que de nouvelles colonnes sont découvertes dans les données. Par défaut, les colonnes sont déduites sous forme de chaînes lors de l’inférence de jeux de données JSON. Pour plus d’informations, consultez Évolution de schéma. Valeur par défaut : "addNewColumns" si aucun schéma n’est fourni.Sinon "none" . |
cloudFiles.schemaHints Entrez : String Informations relatives au schéma que vous fournissez à Auto Loader pendant l’inférence de schéma. Pour plus d’informations, consultez les conseils de schéma. Valeur par défaut : aucune |
cloudFiles.schemaLocation Entrez : String Emplacement dans lequel stocker le schéma inféré et les modifications ultérieures. Pour plus d’informations, consultez Inférence de schéma. Valeur par défaut : aucune (obligatoire lors de l’inférence du schéma) |
cloudFiles.useStrictGlobber Entrez : Boolean Indique s’il faut utiliser un globber strict qui correspond au comportement d’utilisation des caractères génériques (globbing) par défaut d’autres sources de fichiers dans Apache Spark. Pour plus d’informations, consultez Modèles de chargement de données courants. Disponible dans Databricks Runtime 12.2 LTS et versions ultérieures. Valeur par défaut : false |
cloudFiles.validateOptions Entrez : Boolean Indique s’il faut valider les options d’Auto Loader et renvoyer une erreur pour les options inconnues ou incohérentes. Valeur par défaut : true |
Options de liste de répertoires
Les options suivantes s’appliquent au mode Liste de répertoires.
Option |
---|
cloudFiles.useIncrementalListing (déconseillé)Entrez : String Cette fonctionnalité est déconseillée. Databricks vous recommande d’utiliser un mode de notification de fichier plutôt que cloudFiles.useIncrementalListing .Indique s’il faut utiliser la liste incrémentielle plutôt que la liste complète en mode Liste de répertoires. Par défaut, Auto Loader fait de son mieux pour détecter automatiquement si un répertoire donné s’applique à la liste incrémentielle. Vous pouvez utiliser explicitement la liste incrémentielle ou la liste de répertoires complète en la définissant respectivement sur true ou false .L’activation incorrecte de la liste incrémentielle sur un répertoire non lexical empêche le chargeur automatique de découvrir de nouveaux fichiers. Fonctionne avec Azure Data Lake Storage Gen2 ( abfss:// ), S3 (s3:// ) et GCS (gs:// ).Disponible dans Databricks Runtime 9.1 LTS et ultérieur. Valeur par défaut : auto Valeurs disponibles : auto , true , false |
Options de notification de fichiers
Les options suivantes s’appliquent au mode Notification de fichiers.
Option |
---|
cloudFiles.fetchParallelism Entrez : Integer Nombre de threads à utiliser lors de la récupération de messages auprès du service de mise en file d’attente. Valeur par défaut : 1 |
cloudFiles.pathRewrites Type : Une chaîne JSON Obligatoire uniquement si vous spécifiez un queueUrl qui reçoit des notifications de fichiers de plusieurs compartiments S3 et que vous souhaitez tirer parti des points de montage configurés pour accéder aux données de ces conteneurs. Utilisez cette option pour réécrire le préfixe du chemin d’accès bucket/key avec le point de montage. Seuls les préfixes peuvent être réécrits. Par exemple, pour la configuration{"<databricks-mounted-bucket>/path": "dbfs:/mnt/data-warehouse"} , le chemin d’accèss3://<databricks-mounted-bucket>/path/2017/08/fileA.json est réécrit en dbfs:/mnt/data-warehouse/2017/08/fileA.json .Valeur par défaut : aucune |
cloudFiles.resourceTag Entrez : Map(String, String) Série de paires de balises clé-valeur pour aider à associer et à identifier les ressources liées, par exemple : cloudFiles.option("cloudFiles.resourceTag.myFirstKey", "myFirstValue") .option("cloudFiles.resourceTag.mySecondKey", "mySecondValue") Pour plus d’informations sur AWS, consultez Balises de répartition des coûts Amazon SQS et Configuration des balises pour une rubrique Amazon SNS. (1) Pour plus d’informations sur Azure, consultez Affectation de noms pour les files d’attente et les métadonnées et la couverture de properties.labels dans Abonnements aux événements. Auto Loader stocke ces paires de balises clé-valeur au format JSON en tant qu’étiquettes. (1)Pour plus d’informations sur GCP, consultez Signaler l’utilisation avec des libellés. (1) Valeur par défaut : aucune |
cloudFiles.useNotifications Entrez : Boolean Indique s’il faut utiliser le mode Notification de fichiers pour déterminer l’existence de nouveaux fichiers. Si false , utilisez le mode Liste de répertoires. Consultez Comparer les modes de détection de fichiers Auto Loader.Valeur par défaut : false |
(1) Auto Loader ajoute les paires de balises clé-valeur suivantes par défaut dans la mesure du possible :
vendor
:Databricks
path
: emplacement à partir duquel les données sont chargées. Non disponible dans GCP en raison de limitations des libellés.checkpointLocation
: Emplacement du point de contrôle du flux. Non disponible dans GCP en raison de limitations des libellés.streamId
: Identificateur unique au niveau mondial pour le flux.
Ces noms de clés sont réservés et vous ne pouvez pas remplacer leurs valeurs.
Options de format de fichier
Grâce à Auto Loader, vous pouvez ingérer des fichiers JSON
, CSV
, PARQUET
, AVRO
, TEXT
, BINARYFILE
et ORC
.
- 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 |
Options spécifiques au cloud
Auto Loader fournit un certain nombre d’options permettant de configurer l’infrastructure cloud.
Options spécifiques à AWS
Fournissez l’option suivante uniquement si vous choisissez cloudFiles.useNotifications
= true
et que vous souhaitez qu’Auto Loader configure les services de notification pour vous :
Option |
---|
cloudFiles.region Entrez : String Région où le compartiment S3 source réside et où les services AWS SNS et SQS seront créés. Valeur par défaut : la région de l’instance EC2. |
Fournissez l’option suivante uniquement si vous choisissez cloudFiles.useNotifications
= true
et voulez qu’Auto Loader utilise une file d’attente que vous avez déjà configurée :
Option |
---|
cloudFiles.queueUrl Entrez : String URL de la file d’attente SQS. Si elle est fournie, Auto Loader consomme directement les événements de cette file d’attente au lieu de configurer ses propres services AWS SNS et SQS. Valeur par défaut : aucune |
Vous pouvez utiliser les options suivantes pour fournir des informations d’identification permettant d’accéder à AWS SNS et SQS lorsque les rôles IAM ne sont pas disponibles ou lorsque vous ingérez des données provenant de différents clouds.
Option |
---|
cloudFiles.awsAccessKey Entrez : String ID de la clé d’accès AWS pour l’utilisateur. À fournir avec cloudFiles.awsSecretKey .Valeur par défaut : aucune |
cloudFiles.awsSecretKey Entrez : String Clé d’accès au secret AWS pour l’utilisateur. À fournir avec cloudFiles.awsAccessKey .Valeur par défaut : aucune |
cloudFiles.roleArn Entrez : String ARN d’un rôle IAM à adopter. Le rôle peut être adopté à partir du profil d’instance de votre cluster ou en fournissant des informations d’identification avec cloudFiles.awsAccessKey et cloudFiles.awsSecretKey .Valeur par défaut : aucune |
cloudFiles.roleExternalId Entrez : String Identificateur à fournir lors de l’adoption d’un rôle en utilisant cloudFiles.roleArn .Valeur par défaut : aucune |
cloudFiles.roleSessionName Entrez : String Nom de session facultatif à utiliser lors de l’adoption d’un rôle en utilisant cloudFiles.roleArn .Valeur par défaut : aucune |
cloudFiles.stsEndpoint Entrez : String Point de terminaison facultatif à fournir pour accéder à AWS STS lors de l’adoption d’un rôle en utilisant cloudFiles.roleArn .Valeur par défaut : aucune |
Options spécifiques à Azure
Vous devez fournir des valeurs pour toutes les options suivantes si vous spécifiez cloudFiles.useNotifications
= true
et souhaitez qu’Auto Loader configure les services de notification pour vous :
Option |
---|
cloudFiles.clientId Entrez : String ID client ou ID d’application du principal de service. Valeur par défaut : aucune |
cloudFiles.clientSecret Entrez : String Secret client du principal de service. Valeur par défaut : aucune |
cloudFiles.connectionString Entrez : String Chaîne de connexion pour le compte de stockage, basée sur la clé d’accès du compte ou la signature d’accès partagé (SAP). Valeur par défaut : aucune |
cloudFiles.resourceGroup Entrez : String Groupe de ressources Azure sous lequel le compte de stockage est créé. Valeur par défaut : aucune |
cloudFiles.subscriptionId Entrez : String ID d’abonnement Azure sous lequel le groupe de ressources est créé. Valeur par défaut : aucune |
cloudFiles.tenantId Entrez : String ID de locataire Azure sous lequel le principal de service est créé. Valeur par défaut : aucune |
Important
La configuration des notifications automatisées est disponible dans les régions Azure China 21Vianet et Azure Government avec Databricks Runtime 9.1 et versions ultérieures. Vous devez fournir un queueName
pour utiliser Auto Loader avec les notifications de fichiers dans ces régions pour les anciennes versions de DBR.
Fournissez l’option suivante uniquement si vous choisissez cloudFiles.useNotifications
= true
et voulez qu’Auto Loader utilise une file d’attente que vous avez déjà configurée :
Option |
---|
cloudFiles.queueName Entrez : String Nom de la file d’attente Azure. S’il est fourni, la source de fichiers cloud consomme directement les événements de cette file d’attente au lieu de configurer ses propres services Azure Event Grid et Stockage File d’attente. Dans ce cas, votre cloudFiles.connectionString nécessite uniquement des autorisations de lecture sur la file d’attente.Valeur par défaut : aucune |
Options spécifiques à Google
Auto Loader peut configurer automatiquement les services de notification pour vous en tirant parti des comptes de service Google. Vous pouvez configurer votre cluster pour qu’il adopte un compte de service en suivant la configuration du service Google. Les autorisations dont votre compte de service a besoin sont spécifiées dans Qu’est-ce le mode de notification de fichier Auto Loader ?. Sinon, vous pouvez fournir les options d’authentification suivantes si vous souhaitez qu’Auto Loader configure les services de notification pour vous.
Option |
---|
cloudFiles.client Entrez : String ID client du compte de service Google. Valeur par défaut : aucune |
cloudFiles.clientEmail Entrez : String Adresse e-mail du compte de service Google. Valeur par défaut : aucune |
cloudFiles.privateKey Entrez : String Clé privée générée pour le compte de service Google. Valeur par défaut : aucune |
cloudFiles.privateKeyId Entrez : String ID de la clé privée générée pour le compte de service Google. Valeur par défaut : aucune |
cloudFiles.projectId Entrez : String ID du projet dans lequel se trouve le compartiment GCS. L’abonnement à Google Cloud Pub/Sub sera également créé dans ce projet. Valeur par défaut : aucune |
Fournissez l’option suivante uniquement si vous choisissez cloudFiles.useNotifications
= true
et voulez qu’Auto Loader utilise une file d’attente que vous avez déjà configurée :
Option |
---|
cloudFiles.subscription Entrez : String Nom de l’abonnement à Google Cloud Pub/Sub. S’il est fourni, la source de fichiers cloud consomme les événements de cette file d’attente au lieu de configurer ses propres services de notification GCS et Google Cloud Pub/Sub. Valeur par défaut : aucune |