Aller au contenu principal

Référence des options de Spark API

Cette page répertorie les options d'entrée et de sortie disponibles pour les Spark API qui lisent et écrivent des données.

Options DataFrameReader

Utilisez ces options avec DataFrameReader.option(), DataFrameReader.options(), read_files, COPY INTO, et Auto Loader pour contrôler la manière dont Databricks lit les fichiers de données.

Exemple

L'exemple suivant définit multiLine sur True pour la lecture des fichiers JSON :

Python
df = spark.read.format("json").option("multiLine", True).load("/path/to/data")

Commun

Les options suivantes s'appliquent à tous les formats de fichier.

Clé

Par défaut

Valeurs valides

Description

ignoreCorruptFiles

false

true, false

Indique s'il faut ignorer les fichiers corrompus. Si cette option est activée, les Jobs Spark continueront de s'exécuter en cas de fichiers corrompus et le contenu lu sera toujours renvoyé. Pour COPY INTO, vous pouvez observer les fichiers corrompus ignorés comme numSkippedCorruptFiles dans la colonne operationMetrics de l'historique Delta Lake. Disponible dans Databricks Runtime 11.3 LTS et versions ultérieures.

ignoreMissingFiles

false pour Auto Loader, true pour COPY INTO (hérité)

true, false

S’il faut ignorer les fichiers manquants. Si la valeur est vraie, les Jobs Spark continuent de s'exécuter lorsqu'ils rencontrent des fichiers manquants et le contenu est toujours renvoyé. Disponible dans Databricks Runtime 11.3 LTS et versions ultérieures.

modifiedAfter

Aucun

Une chaîne de Timestamp

Un timestamp facultatif comme filtre pour ingérer uniquement les fichiers dont le timestamp de modification est postérieur au timestamp spécifié.

modifiedBefore

Aucun

Une chaîne de Timestamp

Un timestamp facultatif comme filtre pour n'ingérer que les fichiers dont le timestamp de modification est antérieur au timestamp spécifié.

pathGlobFilter OU fileNamePattern

Aucun

Une chaîne de modèle glob

Un modèle de glob potentiel pour choisir des fichiers. Équivalent à PATTERN dans COPY INTO (hérité). fileNamePattern peut être utilisé dans read_files.

recursiveFileLookup

false

true, false

Lorsque true, cette option recherche dans les répertoires imbriqués même si leurs noms ne suivent pas un schéma de nommage de partition tel que date=2019-07-01.

Clé

Par défaut

Valeurs valides

Description

ignoreCorruptFiles

false

true, false

Indique s'il faut ignorer les fichiers corrompus. Si cette option est activée, les Jobs Spark continueront de s'exécuter en cas de fichiers corrompus et le contenu lu sera toujours renvoyé. Pour COPY INTO, vous pouvez observer les fichiers corrompus ignorés comme numSkippedCorruptFiles dans la colonne operationMetrics de l'historique Delta Lake. Disponible dans Databricks Runtime 11.3 LTS et versions ultérieures.

ignoreMissingFiles

false pour Auto Loader, true pour COPY INTO (hérité)

true, false

S’il faut ignorer les fichiers manquants. Si la valeur est vraie, les Jobs Spark continuent de s'exécuter lorsqu'ils rencontrent des fichiers manquants et le contenu est toujours renvoyé. Disponible dans Databricks Runtime 11.3 LTS et versions ultérieures.

modifiedAfter

Aucun

Une chaîne de Timestamp

Un timestamp facultatif comme filtre pour ingérer uniquement les fichiers dont le timestamp de modification est postérieur au timestamp spécifié.

modifiedBefore

Aucun

Une chaîne de Timestamp

Un timestamp facultatif comme filtre pour n'ingérer que les fichiers dont le timestamp de modification est antérieur au timestamp spécifié.

pathGlobFilter OU fileNamePattern

Aucun

Une chaîne de modèle glob

Un modèle de glob potentiel pour choisir des fichiers. Équivalent à PATTERN dans COPY INTO (hérité). fileNamePattern peut être utilisé dans read_files.

recursiveFileLookup

false

true, false

Lorsque true, cette option recherche dans les répertoires imbriqués même si leurs noms ne suivent pas un schéma de nommage de partition tel que date=2019-07-01.

Avro

Les options suivantes s'appliquent lors de la lecture de fichiers Avro.

Clé

Par défaut

Valeurs valides

Description

avroSchema

Aucun

Une chaîne de schéma Avro.

Schéma optionnel spécifié par un utilisateur au format Avro. Lors de la lecture d'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 est compatible avec le schéma évolué. Par exemple, si vous définissez un schéma évolué contenant une colonne supplémentaire avec une valeur default, le résultat de lecture contient également la nouvelle colonne.

avroSchemaEvolutionMode

none

none, restart

Comment gérer l'évolution des schémas lors de l'utilisation d'un registre de schémas. none ignore les modifications de schéma et continue le Job. restart lève une UnknownFieldException lorsque des modifications de schéma sont détectées et nécessite un redémarrage de la Job.

datetimeRebaseMode

LEGACY

EXCEPTION, LEGACY, CORRECTED

Contrôle le rebasage des valeurs DATE et TIMESTAMP entre les calendriers julien et grégorien proleptique.

enableStableIdentifiersForUnionType

false

true, false

Indique s'il faut utiliser des noms de champ stables pour les types Avro Union. Lorsqu'ils sont activés, les noms de champ de type union sont dérivés de leurs noms de type en minuscules (par exemple, member_int, member_string). Déclenche une exception si deux noms de type sont identiques après avoir été mis en minuscules.

mergeSchema

false

true, false

S'il faut ou non déduire le schéma de plusieurs fichiers et Merge le schéma de chaque fichier. mergeSchema pour Avro ne simplifie pas les types de données.

mode

FAILFAST

FAILFAST, PERMISSIVE, DROPMALFORMED

Mode analyseur pour la gestion des enregistrements corrompus. FAILFAST lève une exception. PERMISSIVE définit les champs mal formés à null. DROPMALFORMED supprime en silence les enregistrements incorrects.

readerCaseSensitive

true

true, false

Spécifie le comportement de la sensibilité à la casse lorsque rescuedDataColumn est activée. Si la valeur est vraie, sauver les colonnes de données dont les noms diffèrent par la casse par rapport au schéma. Lorsque la valeur est fausse, lisez les données sans tenir compte de la casse.

recursiveFieldMaxDepth

Aucun

0 à la 15

Profondeur de récursion maximale pour les champs Avro récursifs. Défini sur 1 pour tronquer tous les champs récursifs, sur 2 pour autoriser un niveau de récursion, et ainsi de suite jusqu'à 15. Lorsque non défini ou 0, les champs récursifs ne sont pas autorisés.

rescuedDataColumn

Aucun

Une chaîne de nom de colonne

Indique s'il faut collecter toutes les données qui ne peuvent pas être analysées en raison : d'une non-concordance du type de données, et d'une non-concordance de schéma (y compris la casse des colonnes) dans une colonne séparée. Cette colonne est incluse par default lors de l'utilisation d'Auto Loader.

COPY INTO (hérité) ne prend pas en charge la colonne de données récupérées, car vous ne pouvez pas définir manuellement le schéma à l’aide de COPY INTO. Databricks recommande d’utiliser Auto Loader pour la plupart des scénarios d’ingestion.

Pour plus de détails, consultez Qu’est-ce que la colonne de données récupérées ?.

stableIdentifierPrefixForUnionType

member_

N’importe quelle chaîne

Le préfixe à utiliser pour les noms de champs de type d'union stable lorsque enableStableIdentifiersForUnionType=true.

Clé

Par défaut

Valeurs valides

Description

avroSchema

Aucun

Une chaîne de schéma Avro.

Schéma optionnel spécifié par un utilisateur au format Avro. Lors de la lecture d'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 est compatible avec le schéma évolué. Par exemple, si vous définissez un schéma évolué contenant une colonne supplémentaire avec une valeur default, le résultat de lecture contient également la nouvelle colonne.

avroSchemaEvolutionMode

none

none, restart

Comment gérer l'évolution des schémas lors de l'utilisation d'un registre de schémas. none ignore les modifications de schéma et continue le Job. restart lève une UnknownFieldException lorsque des modifications de schéma sont détectées et nécessite un redémarrage de la Job.

datetimeRebaseMode

LEGACY

EXCEPTION, LEGACY, CORRECTED

Contrôle le rebasage des valeurs DATE et TIMESTAMP entre les calendriers julien et grégorien proleptique.

enableStableIdentifiersForUnionType

false

true, false

Indique s'il faut utiliser des noms de champ stables pour les types Avro Union. Lorsqu'ils sont activés, les noms de champ de type union sont dérivés de leurs noms de type en minuscules (par exemple, member_int, member_string). Déclenche une exception si deux noms de type sont identiques après avoir été mis en minuscules.

mergeSchema

false

true, false

S'il faut ou non déduire le schéma de plusieurs fichiers et Merge le schéma de chaque fichier. mergeSchema pour Avro ne simplifie pas les types de données.

mode

FAILFAST

FAILFAST, PERMISSIVE, DROPMALFORMED

Mode analyseur pour la gestion des enregistrements corrompus. FAILFAST lève une exception. PERMISSIVE définit les champs mal formés à null. DROPMALFORMED supprime en silence les enregistrements incorrects.

readerCaseSensitive

true

true, false

Spécifie le comportement de la sensibilité à la casse lorsque rescuedDataColumn est activée. Si la valeur est vraie, sauver les colonnes de données dont les noms diffèrent par la casse par rapport au schéma. Lorsque la valeur est fausse, lisez les données sans tenir compte de la casse.

recursiveFieldMaxDepth

Aucun

0 à la 15

Profondeur de récursion maximale pour les champs Avro récursifs. Défini sur 1 pour tronquer tous les champs récursifs, sur 2 pour autoriser un niveau de récursion, et ainsi de suite jusqu'à 15. Lorsque non défini ou 0, les champs récursifs ne sont pas autorisés.

rescuedDataColumn

Aucun

Une chaîne de nom de colonne

Indique s'il faut collecter toutes les données qui ne peuvent pas être analysées en raison : d'une non-concordance du type de données, et d'une non-concordance de schéma (y compris la casse des colonnes) dans une colonne séparée. Cette colonne est incluse par default lors de l'utilisation d'Auto Loader.

COPY INTO (hérité) ne prend pas en charge la colonne de données récupérées, car vous ne pouvez pas définir manuellement le schéma à l’aide de COPY INTO. Databricks recommande d’utiliser Auto Loader pour la plupart des scénarios d’ingestion.

Pour plus de détails, consultez Qu’est-ce que la colonne de données récupérées ?.

stableIdentifierPrefixForUnionType

member_

N’importe quelle chaîne

Le préfixe à utiliser pour les noms de champs de type d'union stable lorsque enableStableIdentifiersForUnionType=true.

CSV

Les options suivantes s'appliquent lors de la lecture de fichiers CSV.

Clé

Par défaut

Valeurs valides

Description

badRecordsPath

Aucun

Une chaîne de chemin

Le chemin d'accès pour stocker les fichiers afin d'enregistrer les informations sur les enregistrements CSV incorrects.

charToEscapeQuoteEscaping

\0

Un seul caractère

Le caractère utilisé pour échapper le caractère utilisé pour échapper les guillemets. 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 peut pas trouver de guillemet de fermeture.
  • Si le caractère d'échappement du '\' est défini comme '\', l'enregistrement sera lu avec 2 valeurs : [a\] et [b].

columnNameOfCorruptRecord

_corrupt_record

Une chaîne de nom de colonne

Pris en charge pour Auto Loader. Non pris en charge pour COPY INTO (hérité). La colonne pour stocker les enregistrements mal formés et qui ne peuvent pas être analysés. Si le mode pour l'analyse est défini comme DROPMALFORMED, cette colonne sera vide.

comment

\0

Un seul caractère

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 l'omission des commentaires.

dateFormat

yyyy-MM-dd

Une chaîne de format de date

Le format pour l'analyse des chaînes de dates.

emptyValue

Chaîne vide

N’importe quelle chaîne

Représentation sous forme de chaîne d'une valeur vide.

enableDateTimeParsingFallback

false

true, false

Indique s'il faut revenir au comportement d'analyse de date et de Timestamp hérité lorsqu'une valeur ne peut pas être analysée avec le format spécifié. Lorsque false, les erreurs d'analyse provoquent une erreur ou produisent une valeur nulle en fonction de mode.

encoding OU charset

UTF-8

Nom de java.nio.charset.Charset

Le nom de l'encodage des fichiers CSV. Consultez java.nio.charset.Charset pour la liste des options. UTF-16 et UTF-32 ne peuvent pas être utilisés lorsque multiline est true.

enforceSchema

true

true, false

S'il faut ou non appliquer de force le schéma spécifié ou inféré 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 default lors de l'utilisation d'Auto Loader pour récupérer des données et permettre l'évolution des schémas.

escape

\

Un seul caractère

Le caractère d'échappement à utiliser lors de l'analyse des données.

extension

csv

Une chaîne d'extension de fichier

L'extension de nom de fichier attendue pour les lectures. Les fichiers sans cette extension sont filtrés.

failOnUnknownFields

false

true, false

Échec si l'enregistrement CSV contient des colonnes non présentes dans le schéma. Lorsque false, les colonnes non reconnues sont supprimées ou récupérées silencieusement en fonction de rescuedDataColumn.

failOnWidenedFields

false

true, false

Échec si une valeur de champ ne peut pas être analysée comme le type de schéma déclaré sans élargissement. Lorsque false, les valeurs à type élargi sont récupérées silencieusement en fonction de rescuedDataColumn. Le réglage failOnUnknownFields=true peut masquer les effets de cette option.

header

false

true, false

Indique si les fichiers CSV contiennent un en-tête. L'Auto Loader part du principe que les fichiers ont des en-têtes lors de l'inférence du schéma.

ignoreLeadingWhiteSpace

false

true, false

Permet d’ignorer les espaces blancs de début pour chaque valeur analysée.

ignoreTrailingWhiteSpace

false

true, false

S’il faut ignorer les espaces blancs de fin pour chaque valeur analysée.

inferSchema

false

true, false

Indique si les types de données des enregistrements CSV analysés doivent être inférés ou si toutes les colonnes doivent être de type StringType. Nécessite un passage supplémentaire sur les données si défini sur true. Pour Auto Loader, utilisez cloudFiles.inferColumnTypes à la place.

inputBufferSize

1048576 (1 Mo)

Nombres entiers positifs.

La taille de la mémoire tampon en octets pour l'analyseur CSV. Utile pour l’optimisation de l’utilisation de la mémoire lors de l’analyse de fichiers CSV volumineux.

lineSep

Aucun, qui couvre \r, \r\n et \n

Une chaîne

Une chaîne entre deux enregistrements CSV consécutifs.

locale

US

Un identifiant java.util.Locale

Un paramètre régional Java identifié qui affecte l'analyse par default de la date, du Timestamp et des décimales dans le CSV.

maxCharsPerColumn

-1

Entiers positifs ou -1 pour illimité

Nombre maximal de caractères attendus d'une valeur à analyser. Peut être utilisé pour éviter les erreurs de mémoire. La valeur par default est -1, ce qui signifie illimité.

maxColumns

20480

Nombres entiers positifs.

La limite stricte du nombre de colonnes qu'un enregistrement peut avoir.

mergeSchema

false

true, false

S'il faut ou non déduire le schéma de plusieurs fichiers et Merge le schéma de chaque fichier. Activé par default pour Auto Loader lors de l'inférence du schéma.

mode

PERMISSIVE

PERMISSIVE, DROPMALFORMED, FAILFAST

Mode analyseur pour la gestion des enregistrements mal formés.

multiLine

false

true, false

Si les enregistrements CSV s'étendent sur plusieurs lignes.

nanValue

NaN

N’importe quelle chaîne

La représentation sous forme de chaîne d'une valeur non numérique lors de l'analyse des colonnes FloatType et DoubleType.

negativeInf

-Inf

N’importe quelle chaîne

La représentation sous forme de chaîne de l'infini négatif lors de l'analyse des colonnes FloatType ou DoubleType.

nullValue

Chaîne vide

N’importe quelle chaîne

Représentation sous forme de chaîne d’une valeur nulle.

parserCaseSensitive (obsolète)

false

true, false

Lors de la lecture des fichiers, s'il faut aligner les colonnes déclarées dans l'en-tête avec le schéma en respectant la casse. C'est true default pour Auto Loader. Les colonnes dont la casse diffère seront sauvées dans le rescuedDataColumn si l'option est activée. Cette option est obsolète en faveur de readerCaseSensitive.

positiveInf

Inf

N’importe quelle chaîne

La représentation en chaîne de l'infini positif lors de l'analyse des colonnes FloatType ou DoubleType.

preferDate

true

true, false

Tente d'inférer les chaînes comme des dates plutôt que comme un timestamp lorsque cela est possible. Vous devez également utiliser l'inférence de schéma, soit en activant inferSchema, soit en utilisant cloudFiles.inferColumnTypes avec Auto Loader.

quote

"

Un seul caractère

Le caractère utilisé pour échapper les valeurs lorsque le délimiteur de champ fait partie de la valeur.

readerCaseSensitive

true

true, false

Spécifie le comportement de la sensibilité à la casse lorsque rescuedDataColumn est activée. Si la valeur est vraie, sauver les colonnes de données dont les noms diffèrent par la casse par rapport au schéma. Lorsque la valeur est fausse, lisez les données sans tenir compte de la casse.

rescuedDataColumn

Aucun

Une chaîne de nom de colonne

Indique s'il faut collecter toutes les données qui ne peuvent pas être analysées en raison : d'une non-concordance du type de données, et d'une non-concordance de schéma (y compris la casse des colonnes) dans une colonne séparée. Cette colonne est incluse par default lors de l'utilisation d'Auto Loader. Pour plus de détails, reportez-vous à Qu'est-ce que la colonne de données sauvées ?.

COPY INTO (hérité) ne prend pas en charge la colonne de données récupérées, car vous ne pouvez pas définir manuellement le schéma à l’aide de COPY INTO. Databricks recommande d’utiliser Auto Loader pour la plupart des scénarios d’ingestion.

sep OU delimiter

,

Une chaîne

La chaîne séparatrice entre les colonnes.

singleVariantColumn

Aucun

Une chaîne de nom de colonne

Lorsqu’il est défini sur un nom de colonne, lit l’intégralité de l’enregistrement CSV dans une seule colonne VariantType portant ce nom au lieu d’analyser chaque champ dans sa propre colonne. Nécessite header=true.

skipRows

0

Entiers positifs ou 0

Le nombre de lignes du début du fichier CSV à ignorer, y compris les lignes commentées et vides. Si header est vrai, l'en-tête sera la première ligne non ignorée et non commentée.

timeFormat

HH:mm:ss

Une chaîne de format de l'heure

Le format d'analyse des valeurs de la colonne TimeType.

timestampFormat

yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]

Une chaîne de format Timestamp

Le format pour l'analyse des chaînes de Timestamp.

timestampNTZFormat

yyyy-MM-dd'T'HH:mm:ss[.SSS]

Une chaîne de format Timestamp

Le format pour l'analyse des chaînes de Timestamp sans fuseau horaire (TimestampNTZType).

timeZone

Aucun

Une chaîne de caractères java.time.ZoneId

Le java.time.ZoneId à utiliser lors de l'analyse des Timestamp et des dates.

unescapedQuoteHandling

STOP_AT_DELIMITER

STOP_AT_CLOSING_QUOTE, BACK_TO_DELIMITER, STOP_AT_DELIMITER, SKIP_VALUE, RAISE_ERROR

La stratégie de gestion des guillemets non échappés. Le comportement de chaque option autorisée est le suivant :

  • STOP_AT_CLOSING_QUOTE: Si des guillemets non échappés sont trouvés dans l'entrée, accumulez le caractère de guillemet et continuez à analyser la valeur comme une valeur entre guillemets, jusqu'à ce qu'un guillemet de fermeture soit trouvé.
  • BACK_TO_DELIMITER: Si des guillemets non échappés sont trouvés dans l'entrée, considérez la valeur comme une valeur non citée. Cela amènera l'analyseur à accumuler tous les caractères de la valeur analysée actuelle jusqu'à ce que le délimiteur défini par sep soit trouvé. Si aucun délimiteur n'est trouvé dans la valeur, l'analyseur continuera d'accumuler les caractères de l'entrée jusqu'à ce qu'un délimiteur ou une fin de ligne soit trouvé.
  • STOP_AT_DELIMITER: Si des guillemets non échappés sont trouvés dans l'entrée, considérez la valeur comme une valeur non citée. Cela forcera l’analyseur à accumuler tous les caractères jusqu’à ce que le délimiteur défini par sep ou une fin de ligne soit trouvé dans l'entrée.
  • SKIP_VALUE: si des guillemets non échappés sont trouvés dans l'entrée, le contenu analysé pour la valeur donnée sera ignoré (jusqu'à ce que le prochain délimiteur soit trouvé) et la valeur définie dans nullValue sera produite à la place.
  • RAISE_ERROR: Si des guillemets non échappés sont trouvés dans l’entrée, une TextParsingException sera levée.

Clé

Par défaut

Valeurs valides

Description

badRecordsPath

Aucun

Une chaîne de chemin

Le chemin d'accès pour stocker les fichiers afin d'enregistrer les informations sur les enregistrements CSV incorrects.

charToEscapeQuoteEscaping

\0

Un seul caractère

Le caractère utilisé pour échapper le caractère utilisé pour échapper les guillemets. 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 peut pas trouver de guillemet de fermeture.
  • Si le caractère d'échappement du '\' est défini comme '\', l'enregistrement sera lu avec 2 valeurs : [a\] et [b].

columnNameOfCorruptRecord

_corrupt_record

Une chaîne de nom de colonne

Pris en charge pour Auto Loader. Non pris en charge pour COPY INTO (hérité). La colonne pour stocker les enregistrements mal formés et qui ne peuvent pas être analysés. Si le mode pour l'analyse est défini comme DROPMALFORMED, cette colonne sera vide.

comment

\0

Un seul caractère

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 l'omission des commentaires.

dateFormat

yyyy-MM-dd

Une chaîne de format de date

Le format pour l'analyse des chaînes de dates.

emptyValue

Chaîne vide

N’importe quelle chaîne

Représentation sous forme de chaîne d'une valeur vide.

enableDateTimeParsingFallback

false

true, false

Indique s'il faut revenir au comportement d'analyse de date et de Timestamp hérité lorsqu'une valeur ne peut pas être analysée avec le format spécifié. Lorsque false, les erreurs d'analyse provoquent une erreur ou produisent une valeur nulle en fonction de mode.

encoding OU charset

UTF-8

Nom de java.nio.charset.Charset

Le nom de l'encodage des fichiers CSV. Consultez java.nio.charset.Charset pour la liste des options. UTF-16 et UTF-32 ne peuvent pas être utilisés lorsque multiline est true.

enforceSchema

true

true, false

S'il faut ou non appliquer de force le schéma spécifié ou inféré 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 default lors de l'utilisation d'Auto Loader pour récupérer des données et permettre l'évolution des schémas.

escape

\

Un seul caractère

Le caractère d'échappement à utiliser lors de l'analyse des données.

extension

csv

Une chaîne d'extension de fichier

L'extension de nom de fichier attendue pour les lectures. Les fichiers sans cette extension sont filtrés.

failOnUnknownFields

false

true, false

Échec si l'enregistrement CSV contient des colonnes non présentes dans le schéma. Lorsque false, les colonnes non reconnues sont supprimées ou récupérées silencieusement en fonction de rescuedDataColumn.

failOnWidenedFields

false

true, false

Échec si une valeur de champ ne peut pas être analysée comme le type de schéma déclaré sans élargissement. Lorsque false, les valeurs à type élargi sont récupérées silencieusement en fonction de rescuedDataColumn. Le réglage failOnUnknownFields=true peut masquer les effets de cette option.

header

false

true, false

Indique si les fichiers CSV contiennent un en-tête. L'Auto Loader part du principe que les fichiers ont des en-têtes lors de l'inférence du schéma.

ignoreLeadingWhiteSpace

false

true, false

Permet d’ignorer les espaces blancs de début pour chaque valeur analysée.

ignoreTrailingWhiteSpace

false

true, false

S’il faut ignorer les espaces blancs de fin pour chaque valeur analysée.

inferSchema

false

true, false

Indique si les types de données des enregistrements CSV analysés doivent être inférés ou si toutes les colonnes doivent être de type StringType. Nécessite un passage supplémentaire sur les données si défini sur true. Pour Auto Loader, utilisez cloudFiles.inferColumnTypes à la place.

inputBufferSize

1048576 (1 Mo)

Nombres entiers positifs.

La taille de la mémoire tampon en octets pour l'analyseur CSV. Utile pour l’optimisation de l’utilisation de la mémoire lors de l’analyse de fichiers CSV volumineux.

lineSep

Aucun, qui couvre \r, \r\n et \n

Une chaîne

Une chaîne entre deux enregistrements CSV consécutifs.

locale

US

Un identifiant java.util.Locale

Un paramètre régional Java identifié qui affecte l'analyse par default de la date, du Timestamp et des décimales dans le CSV.

maxCharsPerColumn

-1

Entiers positifs ou -1 pour illimité

Nombre maximal de caractères attendus d'une valeur à analyser. Peut être utilisé pour éviter les erreurs de mémoire. La valeur par default est -1, ce qui signifie illimité.

maxColumns

20480

Nombres entiers positifs.

La limite stricte du nombre de colonnes qu'un enregistrement peut avoir.

mergeSchema

false

true, false

S'il faut ou non déduire le schéma de plusieurs fichiers et Merge le schéma de chaque fichier. Activé par default pour Auto Loader lors de l'inférence du schéma.

mode

PERMISSIVE

PERMISSIVE, DROPMALFORMED, FAILFAST

Mode analyseur pour la gestion des enregistrements mal formés.

multiLine

false

true, false

Si les enregistrements CSV s'étendent sur plusieurs lignes.

nanValue

NaN

N’importe quelle chaîne

La représentation sous forme de chaîne d'une valeur non numérique lors de l'analyse des colonnes FloatType et DoubleType.

negativeInf

-Inf

N’importe quelle chaîne

La représentation sous forme de chaîne de l'infini négatif lors de l'analyse des colonnes FloatType ou DoubleType.

nullValue

Chaîne vide

N’importe quelle chaîne

Représentation sous forme de chaîne d’une valeur nulle.

parserCaseSensitive (obsolète)

false

true, false

Lors de la lecture des fichiers, s'il faut aligner les colonnes déclarées dans l'en-tête avec le schéma en respectant la casse. C'est true default pour Auto Loader. Les colonnes dont la casse diffère seront sauvées dans le rescuedDataColumn si l'option est activée. Cette option est obsolète en faveur de readerCaseSensitive.

positiveInf

Inf

N’importe quelle chaîne

La représentation en chaîne de l'infini positif lors de l'analyse des colonnes FloatType ou DoubleType.

preferDate

true

true, false

Tente d'inférer les chaînes comme des dates plutôt que comme un timestamp lorsque cela est possible. Vous devez également utiliser l'inférence de schéma, soit en activant inferSchema, soit en utilisant cloudFiles.inferColumnTypes avec Auto Loader.

quote

"

Un seul caractère

Le caractère utilisé pour échapper les valeurs lorsque le délimiteur de champ fait partie de la valeur.

readerCaseSensitive

true

true, false

Spécifie le comportement de la sensibilité à la casse lorsque rescuedDataColumn est activée. Si la valeur est vraie, sauver les colonnes de données dont les noms diffèrent par la casse par rapport au schéma. Lorsque la valeur est fausse, lisez les données sans tenir compte de la casse.

rescuedDataColumn

Aucun

Une chaîne de nom de colonne

Indique s'il faut collecter toutes les données qui ne peuvent pas être analysées en raison : d'une non-concordance du type de données, et d'une non-concordance de schéma (y compris la casse des colonnes) dans une colonne séparée. Cette colonne est incluse par default lors de l'utilisation d'Auto Loader. Pour plus de détails, reportez-vous à Qu'est-ce que la colonne de données sauvées ?.

COPY INTO (hérité) ne prend pas en charge la colonne de données récupérées, car vous ne pouvez pas définir manuellement le schéma à l’aide de COPY INTO. Databricks recommande d’utiliser Auto Loader pour la plupart des scénarios d’ingestion.

sep OU delimiter

,

Une chaîne

La chaîne séparatrice entre les colonnes.

singleVariantColumn

Aucun

Une chaîne de nom de colonne

Lorsqu’il est défini sur un nom de colonne, lit l’intégralité de l’enregistrement CSV dans une seule colonne VariantType portant ce nom au lieu d’analyser chaque champ dans sa propre colonne. Nécessite header=true.

skipRows

0

Entiers positifs ou 0

Le nombre de lignes du début du fichier CSV à ignorer, y compris les lignes commentées et vides. Si header est vrai, l'en-tête sera la première ligne non ignorée et non commentée.

timeFormat

HH:mm:ss

Une chaîne de format de l'heure

Le format d'analyse des valeurs de la colonne TimeType.

timestampFormat

yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]

Une chaîne de format Timestamp

Le format pour l'analyse des chaînes de Timestamp.

timestampNTZFormat

yyyy-MM-dd'T'HH:mm:ss[.SSS]

Une chaîne de format Timestamp

Le format pour l'analyse des chaînes de Timestamp sans fuseau horaire (TimestampNTZType).

timeZone

Aucun

Une chaîne de caractères java.time.ZoneId

Le java.time.ZoneId à utiliser lors de l'analyse des Timestamp et des dates.

unescapedQuoteHandling

STOP_AT_DELIMITER

STOP_AT_CLOSING_QUOTE, BACK_TO_DELIMITER, STOP_AT_DELIMITER, SKIP_VALUE, RAISE_ERROR

La stratégie de gestion des guillemets non échappés. Le comportement de chaque option autorisée est le suivant :

  • STOP_AT_CLOSING_QUOTE: Si des guillemets non échappés sont trouvés dans l'entrée, accumulez le caractère de guillemet et continuez à analyser la valeur comme une valeur entre guillemets, jusqu'à ce qu'un guillemet de fermeture soit trouvé.
  • BACK_TO_DELIMITER: Si des guillemets non échappés sont trouvés dans l'entrée, considérez la valeur comme une valeur non citée. Cela amènera l'analyseur à accumuler tous les caractères de la valeur analysée actuelle jusqu'à ce que le délimiteur défini par sep soit trouvé. Si aucun délimiteur n'est trouvé dans la valeur, l'analyseur continuera d'accumuler les caractères de l'entrée jusqu'à ce qu'un délimiteur ou une fin de ligne soit trouvé.
  • STOP_AT_DELIMITER: Si des guillemets non échappés sont trouvés dans l'entrée, considérez la valeur comme une valeur non citée. Cela forcera l’analyseur à accumuler tous les caractères jusqu’à ce que le délimiteur défini par sep ou une fin de ligne soit trouvé dans l'entrée.
  • SKIP_VALUE: si des guillemets non échappés sont trouvés dans l'entrée, le contenu analysé pour la valeur donnée sera ignoré (jusqu'à ce que le prochain délimiteur soit trouvé) et la valeur définie dans nullValue sera produite à la place.
  • RAISE_ERROR: Si des guillemets non échappés sont trouvés dans l’entrée, une TextParsingException sera levée.

Excel

Les options suivantes s'appliquent lors de la lecture des fichiers Excel.

Clé

Par défaut

Valeurs valides

Description

dataAddress

Aucun

Une plage de cellules ou une chaîne de nom de feuille

La plage de cellules à lire au format Excel. Si omis, lit toutes les cellules valides de la première feuille. Utilisez SheetName!C5:H10 pour lire une plage à partir d'une feuille nommée, C5:H10 pour lire une plage à partir de la première feuille, ou SheetName pour lire toutes les données d'une feuille spécifique.

headerRows

0

0, 1

Nombre de lignes initiales à utiliser comme en-têtes de noms de colonne. Lorsque dataAddress est spécifié, cela s'applique dans la plage de cellules. Lorsque 0, les noms de colonne sont générés automatiquement sous la forme de _c1, _c2, _c3, etc.

ignoreMissingSheet

false

true, false

Ignorer silencieusement les fichiers qui ne contiennent pas la feuille spécifiée par dataAddress. Lorsqu'false, une erreur est générée si un fichier ne contient pas la feuille demandée. S'applique uniquement lorsqu'un nom de feuille est spécifié dans dataAddress.

includePhoneticRuns

false

true, false

Indiquer s'il faut inclure des annotations phonétiques (telles que le pinyin ou le furigana) concaténées aux valeurs de chaîne de cellule lors de la lecture de fichiers XLSX.

operation

readSheet

readSheet, listSheets

L'opération à effectuer sur le classeur Excel. readSheet lit les données d'une feuille. listSheets renvoie une structure avec des champs sheetIndex: long et sheetName: String pour chaque feuille.

timestampNTZFormat

yyyy-MM-dd'T'HH:mm:ss[.SSS]

Une chaîne de format Timestamp

Chaîne de format personnalisé pour les valeurs Timestamp sans fuseau horaire stockées sous forme de chaînes dans Excel. Les formats de date personnalisés suivent les formats de modèles de date/heure.

dateFormat

yyyy-MM-dd

Une chaîne de format de date

Chaîne de format personnalisée pour les valeurs de chaîne lues comme Date. Les formats de date personnalisés suivent les formats indiqués à l'adresse Modèles de date et heure.

Clé

Par défaut

Valeurs valides

Description

dataAddress

Aucun

Une plage de cellules ou une chaîne de nom de feuille

La plage de cellules à lire au format Excel. Si omis, lit toutes les cellules valides de la première feuille. Utilisez SheetName!C5:H10 pour lire une plage à partir d'une feuille nommée, C5:H10 pour lire une plage à partir de la première feuille, ou SheetName pour lire toutes les données d'une feuille spécifique.

headerRows

0

0, 1

Nombre de lignes initiales à utiliser comme en-têtes de noms de colonne. Lorsque dataAddress est spécifié, cela s'applique dans la plage de cellules. Lorsque 0, les noms de colonne sont générés automatiquement sous la forme de _c1, _c2, _c3, etc.

ignoreMissingSheet

false

true, false

Ignorer silencieusement les fichiers qui ne contiennent pas la feuille spécifiée par dataAddress. Lorsqu'false, une erreur est générée si un fichier ne contient pas la feuille demandée. S'applique uniquement lorsqu'un nom de feuille est spécifié dans dataAddress.

includePhoneticRuns

false

true, false

Indiquer s'il faut inclure des annotations phonétiques (telles que le pinyin ou le furigana) concaténées aux valeurs de chaîne de cellule lors de la lecture de fichiers XLSX.

operation

readSheet

readSheet, listSheets

L'opération à effectuer sur le classeur Excel. readSheet lit les données d'une feuille. listSheets renvoie une structure avec des champs sheetIndex: long et sheetName: String pour chaque feuille.

timestampNTZFormat

yyyy-MM-dd'T'HH:mm:ss[.SSS]

Une chaîne de format Timestamp

Chaîne de format personnalisé pour les valeurs Timestamp sans fuseau horaire stockées sous forme de chaînes dans Excel. Les formats de date personnalisés suivent les formats de modèles de date/heure.

dateFormat

yyyy-MM-dd

Une chaîne de format de date

Chaîne de format personnalisée pour les valeurs de chaîne lues comme Date. Les formats de date personnalisés suivent les formats indiqués à l'adresse Modèles de date et heure.

JSON

Les options suivantes s’appliquent lors de la lecture de fichiers JSON.

Clé

Par défaut

Valeurs valides

Description

allowBackslashEscapingAnyCharacter

false

true, false

Permet aux barres obliques inverses d'échapper n'importe quel caractère qui le suit. Si cette option n'est pas activée, seuls les caractères explicitement répertoriés par la spécification JSON peuvent être échappés.

allowComments

false

true, false

Autoriser ou non l'utilisation de commentaires de style Java, C et C++ (variétés '/', '*' et '//') dans le contenu analysé.

allowNonNumericNumbers

true

true, false

Autoriser ou non l'ensemble de jetons non numériques (NaN) comme valeurs de nombre à virgule flottante valides.

allowNumericLeadingZeros

false

true, false

Autoriser les nombres entiers à start par des zéros supplémentaires (ignorables) (par exemple, 000001).

allowSingleQuotes

true

true, false

Autoriser l'utilisation de guillemets simples (apostrophe, caractère '\') pour citer des chaînes (noms et valeurs de chaîne).

allowUnquotedControlChars

false

true, false

Autoriser ou non les chaînes JSON à contenir des caractères de contrôle sans échappement (caractères ASCII d'une valeur inférieure à 32, y compris les caractères de tab et de saut de ligne).

allowUnquotedFieldNames

false

true, false

Indique s'il faut autoriser l'utilisation de noms de champs non cités, qui sont autorisés par JavaScript, mais pas par la spécification JSON.

alternateVariantEncoding

Aucun

Z85

L’encodage utilisé pour les valeurs Variant dans le JSON source. Définissez sur Z85 pour décoder les valeurs Variant qui ont été encodées en Base85 au lieu d’être stockées sous forme de JSON inline.

badRecordsPath

Aucun

Une chaîne de chemin

Le chemin pour stocker les fichiers afin d'enregistrer les informations sur les enregistrements JSON incorrects.

L'utilisation de l'option badRecordsPath dans une source de données basée sur des fichiers présente les limitations suivantes :

  • C'est non transactionnel et cela peut entraîner des résultats incohérents.
  • Les erreurs transitoires sont traitées comme des échecs.

columnNameOfCorruptRecord

_corrupt_record

Une chaîne de nom de colonne

La colonne destinée au stockage des enregistrements mal formés et qui ne peuvent pas être analysés. Si le mode d'analyse est défini comme DROPMALFORMED, cette colonne sera vide.

dateFormat

yyyy-MM-dd

Une chaîne de format de date

Le format pour l'analyse des chaînes de dates.

dropFieldIfAllNull

false

true, false

Faut-il ignorer les colonnes de toutes les valeurs nulles ou les tableaux et structs vides pendant l'inférence de schéma ?

encoding OU charset

UTF-8

Nom de java.nio.charset.Charset

Le nom de l'encodage des fichiers JSON. Consultez java.nio.charset.Charset pour la liste des options. Vous ne pouvez pas utiliser UTF-16 et UTF-32 lorsque multiline est true.

inferTimestamp

false

true, false

Indique s’il faut essayer de déduire les chaînes de timestamp comme un TimestampType. Lorsqu’il est défini sur true, l’inférence du schéma peut prendre nettement plus de temps. Vous devez activer cloudFiles.inferColumnTypes pour l'utiliser avec Auto Loader.

lineSep

Aucun, qui couvre \r, \r\n et \n

Une chaîne

Une chaîne entre deux enregistrements JSON consécutifs.

locale

US

Un identifiant java.util.Locale

Un identifiant de paramètres régionaux Java qui affecte l'analyse default des dates, timestamp et décimales dans le JSON.

maxNestingDepth

500

Nombres entiers positifs.

La profondeur d'imbrication maximale autorisée pour les objets et tableaux JSON. Augmentez cette valeur pour les documents profondément imbriqués.

maxNumLen

1000

Nombres entiers positifs.

La longueur maximale des jetons numériques dans l'entrée JSON. Augmentez cette valeur pour les JSON avec des littéraux numériques volumineux.

maxStringLen

Illimité

Nombres entiers positifs.

La longueur maximale des valeurs de chaîne dans l’entrée JSON. Défini pour limiter l'utilisation de la mémoire lors de l'analyse JSON avec de grandes chaînes.

mode

PERMISSIVE

PERMISSIVE, DROPMALFORMED, FAILFAST

Mode analyseur pour la gestion des enregistrements mal formés.

multiLine

false

true, false

Si les enregistrements JSON s'étendent sur plusieurs lignes.

prefersDecimal

false

true, false

Tentatives d'inférer les chaînes en tant que DecimalType plutôt que le type float ou double lorsque cela est possible. Vous devez également utiliser l'inférence de schéma, soit en activant inferSchema, soit en utilisant cloudFiles.inferColumnTypes avec Auto Loader.

primitivesAsString

false

true, false

Faut-il inférer les types primitifs comme les nombres et les booléens en tant que StringType.

readerCaseSensitive

true

true, false

Spécifie le comportement de la sensibilité à la casse lorsque rescuedDataColumn est activée. Si la valeur est vraie, sauver les colonnes de données dont les noms diffèrent par la casse par rapport au schéma. Lorsque la valeur est fausse, lisez les données sans tenir compte de la casse. Disponible dans Databricks Runtime 13.3 et versions ultérieures.

rescuedDataColumn

Aucun

Une chaîne de nom de colonne

S'il faut collecter toutes les données qui ne peuvent pas être analysées en raison d'une incompatibilité de type de données ou d'une incompatibilité de schéma (y compris la casse des colonnes) dans une colonne séparée. Cette colonne est incluse par default lors de l'utilisation d'Auto Loader. Pour plus de détails, consultez Qu'est-ce que la colonne de données récupérées ?.

COPY INTO (hérité) ne prend pas en charge la colonne de données récupérées, car vous ne pouvez pas définir manuellement le schéma à l’aide de COPY INTO. Databricks recommande d’utiliser Auto Loader pour la plupart des scénarios d’ingestion.

singleVariantColumn

Aucun

Une chaîne de nom de colonne

Indique s’il faut ingérer l’intégralité du document JSON, analysé en une seule colonne Variant dont le nom est la chaîne spécifiée. Si ce n'est pas défini, les champs JSON sont ingérés dans leurs propres colonnes.

timestampFormat

yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]

Une chaîne de format Timestamp

Le format pour l'analyse des chaînes de Timestamp.

timestampNTZFormat

yyyy-MM-dd'T'HH:mm:ss[.SSS]

Une chaîne de format Timestamp

Le format pour l'analyse des chaînes de Timestamp sans fuseau horaire (TimestampNTZType).

timeZone

Aucun

Une chaîne de caractères java.time.ZoneId

Le java.time.ZoneId à utiliser lors de l'analyse des Timestamp et des dates.

upgradeExceptionAsBadRecord

false

true, false

S’il faut traiter les exceptions de mise à niveau de type (par exemple, lorsqu'une valeur ne peut pas être étendue au type de colonne déclaré) comme des enregistrements incorrects plutôt que de lever une exception.

Clé

Par défaut

Valeurs valides

Description

allowBackslashEscapingAnyCharacter

false

true, false

Permet aux barres obliques inverses d'échapper n'importe quel caractère qui le suit. Si cette option n'est pas activée, seuls les caractères explicitement répertoriés par la spécification JSON peuvent être échappés.

allowComments

false

true, false

Autoriser ou non l'utilisation de commentaires de style Java, C et C++ (variétés '/', '*' et '//') dans le contenu analysé.

allowNonNumericNumbers

true

true, false

Autoriser ou non l'ensemble de jetons non numériques (NaN) comme valeurs de nombre à virgule flottante valides.

allowNumericLeadingZeros

false

true, false

Autoriser les nombres entiers à start par des zéros supplémentaires (ignorables) (par exemple, 000001).

allowSingleQuotes

true

true, false

Autoriser l'utilisation de guillemets simples (apostrophe, caractère '\') pour citer des chaînes (noms et valeurs de chaîne).

allowUnquotedControlChars

false

true, false

Autoriser ou non les chaînes JSON à contenir des caractères de contrôle sans échappement (caractères ASCII d'une valeur inférieure à 32, y compris les caractères de tab et de saut de ligne).

allowUnquotedFieldNames

false

true, false

Indique s'il faut autoriser l'utilisation de noms de champs non cités, qui sont autorisés par JavaScript, mais pas par la spécification JSON.

alternateVariantEncoding

Aucun

Z85

L’encodage utilisé pour les valeurs Variant dans le JSON source. Définissez sur Z85 pour décoder les valeurs Variant qui ont été encodées en Base85 au lieu d’être stockées sous forme de JSON inline.

badRecordsPath

Aucun

Une chaîne de chemin

Le chemin pour stocker les fichiers afin d'enregistrer les informations sur les enregistrements JSON incorrects.

L'utilisation de l'option badRecordsPath dans une source de données basée sur des fichiers présente les limitations suivantes :

  • C'est non transactionnel et cela peut entraîner des résultats incohérents.
  • Les erreurs transitoires sont traitées comme des échecs.

columnNameOfCorruptRecord

_corrupt_record

Une chaîne de nom de colonne

La colonne destinée au stockage des enregistrements mal formés et qui ne peuvent pas être analysés. Si le mode d'analyse est défini comme DROPMALFORMED, cette colonne sera vide.

dateFormat

yyyy-MM-dd

Une chaîne de format de date

Le format pour l'analyse des chaînes de dates.

dropFieldIfAllNull

false

true, false

Faut-il ignorer les colonnes de toutes les valeurs nulles ou les tableaux et structs vides pendant l'inférence de schéma ?

encoding OU charset

UTF-8

Nom de java.nio.charset.Charset

Le nom de l'encodage des fichiers JSON. Consultez java.nio.charset.Charset pour la liste des options. Vous ne pouvez pas utiliser UTF-16 et UTF-32 lorsque multiline est true.

inferTimestamp

false

true, false

Indique s’il faut essayer de déduire les chaînes de timestamp comme un TimestampType. Lorsqu’il est défini sur true, l’inférence du schéma peut prendre nettement plus de temps. Vous devez activer cloudFiles.inferColumnTypes pour l'utiliser avec Auto Loader.

lineSep

Aucun, qui couvre \r, \r\n et \n

Une chaîne

Une chaîne entre deux enregistrements JSON consécutifs.

locale

US

Un identifiant java.util.Locale

Un identifiant de paramètres régionaux Java qui affecte l'analyse default des dates, timestamp et décimales dans le JSON.

maxNestingDepth

500

Nombres entiers positifs.

La profondeur d'imbrication maximale autorisée pour les objets et tableaux JSON. Augmentez cette valeur pour les documents profondément imbriqués.

maxNumLen

1000

Nombres entiers positifs.

La longueur maximale des jetons numériques dans l'entrée JSON. Augmentez cette valeur pour les JSON avec des littéraux numériques volumineux.

maxStringLen

Illimité

Nombres entiers positifs.

La longueur maximale des valeurs de chaîne dans l’entrée JSON. Défini pour limiter l'utilisation de la mémoire lors de l'analyse JSON avec de grandes chaînes.

mode

PERMISSIVE

PERMISSIVE, DROPMALFORMED, FAILFAST

Mode analyseur pour la gestion des enregistrements mal formés.

multiLine

false

true, false

Si les enregistrements JSON s'étendent sur plusieurs lignes.

prefersDecimal

false

true, false

Tentatives d'inférer les chaînes en tant que DecimalType plutôt que le type float ou double lorsque cela est possible. Vous devez également utiliser l'inférence de schéma, soit en activant inferSchema, soit en utilisant cloudFiles.inferColumnTypes avec Auto Loader.

primitivesAsString

false

true, false

Faut-il inférer les types primitifs comme les nombres et les booléens en tant que StringType.

readerCaseSensitive

true

true, false

Spécifie le comportement de la sensibilité à la casse lorsque rescuedDataColumn est activée. Si la valeur est vraie, sauver les colonnes de données dont les noms diffèrent par la casse par rapport au schéma. Lorsque la valeur est fausse, lisez les données sans tenir compte de la casse. Disponible dans Databricks Runtime 13.3 et versions ultérieures.

rescuedDataColumn

Aucun

Une chaîne de nom de colonne

S'il faut collecter toutes les données qui ne peuvent pas être analysées en raison d'une incompatibilité de type de données ou d'une incompatibilité de schéma (y compris la casse des colonnes) dans une colonne séparée. Cette colonne est incluse par default lors de l'utilisation d'Auto Loader. Pour plus de détails, consultez Qu'est-ce que la colonne de données récupérées ?.

COPY INTO (hérité) ne prend pas en charge la colonne de données récupérées, car vous ne pouvez pas définir manuellement le schéma à l’aide de COPY INTO. Databricks recommande d’utiliser Auto Loader pour la plupart des scénarios d’ingestion.

singleVariantColumn

Aucun

Une chaîne de nom de colonne

Indique s’il faut ingérer l’intégralité du document JSON, analysé en une seule colonne Variant dont le nom est la chaîne spécifiée. Si ce n'est pas défini, les champs JSON sont ingérés dans leurs propres colonnes.

timestampFormat

yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]

Une chaîne de format Timestamp

Le format pour l'analyse des chaînes de Timestamp.

timestampNTZFormat

yyyy-MM-dd'T'HH:mm:ss[.SSS]

Une chaîne de format Timestamp

Le format pour l'analyse des chaînes de Timestamp sans fuseau horaire (TimestampNTZType).

timeZone

Aucun

Une chaîne de caractères java.time.ZoneId

Le java.time.ZoneId à utiliser lors de l'analyse des Timestamp et des dates.

upgradeExceptionAsBadRecord

false

true, false

S’il faut traiter les exceptions de mise à niveau de type (par exemple, lorsqu'une valeur ne peut pas être étendue au type de colonne déclaré) comme des enregistrements incorrects plutôt que de lever une exception.

Kafka

Pour la liste complète des options du lecteur Kafka, consultez la section Options Kafka de DataStreamReader. Les options suivantes s'appliquent uniquement aux lectures par batch utilisant spark.read.format("kafka").

Clé

Par défaut

Valeurs valides

Description

endingOffsets

latest

latest, ou une chaîne de décalage JSON

Point d'arrêt de la lecture. Dans la chaîne JSON, -1 est le dernier décalage. -2, qui est le décalage le plus ancien, n’est pas autorisé comme décalage de fin. Ceci est un exemple de chaîne de décalage JSON : {"topicA":{"0":50,"1":-1}}.

endingOffsetsByTimestamp

Aucun

Une chaîne de Timestamp JSON

Décalages de fin par partition spécifiés comme timestamps en millisecondes. Par exemple : {"topicA":{"0":2000,"1":3000}}.

endingTimestamp

Aucun

Entiers positifs ou 0

Timestamp de fin global en millisecondes appliqué à toutes les partitions.

Clé

Par défaut

Valeurs valides

Description

endingOffsets

latest

latest, ou une chaîne de décalage JSON

Point d'arrêt de la lecture. Dans la chaîne JSON, -1 est le dernier décalage. -2, qui est le décalage le plus ancien, n’est pas autorisé comme décalage de fin. Ceci est un exemple de chaîne de décalage JSON : {"topicA":{"0":50,"1":-1}}.

endingOffsetsByTimestamp

Aucun

Une chaîne de Timestamp JSON

Décalages de fin par partition spécifiés comme timestamps en millisecondes. Par exemple : {"topicA":{"0":2000,"1":3000}}.

endingTimestamp

Aucun

Entiers positifs ou 0

Timestamp de fin global en millisecondes appliqué à toutes les partitions.

ORC

Les options suivantes s’appliquent lors de la lecture des fichiers ORC.

Clé

Par défaut

Valeurs valides

Description

mergeSchema

false

true, false

S’il faut ou non inférer le schéma de plusieurs fichiers et Merge le schéma de chaque fichier.

Clé

Par défaut

Valeurs valides

Description

mergeSchema

false

true, false

S’il faut ou non inférer le schéma de plusieurs fichiers et Merge le schéma de chaque fichier.

Parquet

Les options suivantes s'appliquent lors de la lecture des fichiers Parquet.

Clé

Par défaut

Valeurs valides

Description

datetimeRebaseMode

LEGACY

EXCEPTION, LEGACY, CORRECTED

Contrôle le rebasage des valeurs DATE et TIMESTAMP entre les calendriers julien et grégorien proleptique.

int96RebaseMode

LEGACY

EXCEPTION, LEGACY, CORRECTED

Contrôle le rebasage des valeurs de timestamp INT96 entre les calendriers julien et grégorien proleptique.

mergeSchema

false

true, false

S’il faut ou non inférer le schéma de plusieurs fichiers et Merge le schéma de chaque fichier.

readerCaseSensitive

true

true, false

Spécifie le comportement de la sensibilité à la casse lorsque rescuedDataColumn est activée. Si la valeur est vraie, sauver les colonnes de données dont les noms diffèrent par la casse par rapport au schéma. Lorsque la valeur est fausse, lisez les données sans tenir compte de la casse.

rescuedDataColumn

Aucun

Une chaîne de nom de colonne

Indique s'il faut collecter toutes les données qui ne peuvent pas être analysées en raison : d'une non-concordance du type de données, et d'une non-concordance de schéma (y compris la casse des colonnes) dans une colonne séparée. Cette colonne est incluse par default lors de l'utilisation d'Auto Loader. Pour plus de détails, reportez-vous à Qu'est-ce que la colonne de données sauvées ?.

COPY INTO (hérité) ne prend pas en charge la colonne de données récupérées, car vous ne pouvez pas définir manuellement le schéma à l’aide de COPY INTO. Databricks recommande d’utiliser Auto Loader pour la plupart des scénarios d’ingestion.

Clé

Par défaut

Valeurs valides

Description

datetimeRebaseMode

LEGACY

EXCEPTION, LEGACY, CORRECTED

Contrôle le rebasage des valeurs DATE et TIMESTAMP entre les calendriers julien et grégorien proleptique.

int96RebaseMode

LEGACY

EXCEPTION, LEGACY, CORRECTED

Contrôle le rebasage des valeurs de timestamp INT96 entre les calendriers julien et grégorien proleptique.

mergeSchema

false

true, false

S’il faut ou non inférer le schéma de plusieurs fichiers et Merge le schéma de chaque fichier.

readerCaseSensitive

true

true, false

Spécifie le comportement de la sensibilité à la casse lorsque rescuedDataColumn est activée. Si la valeur est vraie, sauver les colonnes de données dont les noms diffèrent par la casse par rapport au schéma. Lorsque la valeur est fausse, lisez les données sans tenir compte de la casse.

rescuedDataColumn

Aucun

Une chaîne de nom de colonne

Indique s'il faut collecter toutes les données qui ne peuvent pas être analysées en raison : d'une non-concordance du type de données, et d'une non-concordance de schéma (y compris la casse des colonnes) dans une colonne séparée. Cette colonne est incluse par default lors de l'utilisation d'Auto Loader. Pour plus de détails, reportez-vous à Qu'est-ce que la colonne de données sauvées ?.

COPY INTO (hérité) ne prend pas en charge la colonne de données récupérées, car vous ne pouvez pas définir manuellement le schéma à l’aide de COPY INTO. Databricks recommande d’utiliser Auto Loader pour la plupart des scénarios d’ingestion.

Stockage d'état

Utilisez ces options avec spark.read.format("statestore") ou la fonction à valeurs de table read_statestore pour lire les données d'état du Structured Streaming. Consultez l’article Lire les informations d'état de Structured Streaming.

Clé

Par défaut

Valeurs valides

Description

batchId

Dernier ID de batch

Entiers positifs ou 0

Le batch cible à partir duquel lire. Utilisez cette option pour interroger un état antérieur de la query. Le batch doit être validé, mais pas encore nettoyé.

operatorId

0

Entiers positifs ou 0

L'opérateur cible à partir duquel lire. Utilisez lorsque la query a plusieurs opérateurs avec état.

storeName

DEFAULT

N’importe quelle chaîne

Le nom du magasin d'état cible à partir duquel lire. Utilisez-le lorsque l'opérateur avec état dispose de plusieurs instances de magasin d'état. Vous devez spécifier soit storeName, soit joinSide pour une jointure Stream-Stream, mais pas les deux.

joinSide

Aucun

left, right

Le côté cible à lire pour une jointure Stream-Stream. Vous devez spécifier soit storeName, soit joinSide pour une jointure de Stream à Stream, mais pas les deux.

snapshotStartBatchId

Aucun

Entiers positifs ou 0

L'ID de batch du snapshot à utiliser comme point de départ lors de la lecture de l'état. Le lecteur reconstruit l'état en rejouant les modifications de ce snapshot jusqu'à batchId. Utile lorsqu'un snapshot est corrompu. Vous devez spécifier avec snapshotPartitionId. Impossible d'utiliser avec readChangeFeed. Prend en charge le stockage d'état HDFS et le stockage d'état RocksDB avec le point de contrôle du journal des modifications activé. Disponible dans Databricks Runtime 15.4 LTS et versions ultérieures.

snapshotPartitionId

Aucun

Entiers positifs ou 0

Si spécifié, la query lit uniquement cette partition. À spécifier avec snapshotStartBatchId. Impossible d'utiliser avec readChangeFeed. Disponible dans Databricks Runtime 15.4 LTS et versions supérieures.

readChangeFeed

false

true, false

Lorsque true, renvoie les changements d'état sur une plage spécifiée de batchs entre changeStartBatchId et changeEndBatchId. Nécessite changeStartBatchId. Ne peut pas être utilisé avec joinSide, batchId, snapshotStartBatchId ou snapshotPartitionId. Disponible dans Databricks Runtime 16.4 LTS et versions supérieures.

Pour plus de détails, consultez Lire les modifications d'état de Structured Streaming.

changeStartBatchId

Aucun

Entiers positifs ou 0

L'ID de batch de début pour la plage du flux de modifications. Obligatoire lorsque readChangeFeed est true. S'applique uniquement lorsque readChangeFeed est défini sur true. Disponible dans Databricks Runtime 16.4 LTS et versions supérieures.

changeEndBatchId

Dernier ID de batch

Entiers positifs ou 0

L'ID de batch de fin pour la plage du flux de modification. Doit être supérieur ou égal à changeStartBatchId. S'applique uniquement lorsque readChangeFeed est défini sur true. Disponible dans Databricks Runtime 16.4 LTS et versions supérieures.

stateVarName

Aucun

N’importe quelle chaîne

Le nom de la variable d'état à lire. Le nom de la variable d'état est le nom unique de chaque variable dans la fonction init d'un StatefulProcessor utilisé par l'opérateur transformWithState. Requis lorsque vous utilisez l'opérateur transformWithState. Disponible dans Databricks Runtime 16.4 LTS et versions supérieures.

readRegisteredTimers

false

true, false

Lorsque true, il lit les temporisateurs enregistrés utilisés par l'opérateur transformWithState. S'applique uniquement à l'opérateur transformWithState. Disponible dans Databricks Runtime 16,4 LTS et versions ultérieures.

flattenCollectionTypes

true

true, false

Lorsque true, aplatit les enregistrements retournés pour les variables d'état de type carte et liste. Lorsque false, retourne les enregistrements en tant que Array ou Map Spark SQL. Ne s'applique qu'à l'opérateur transformWithState. Disponible dans Databricks Runtime 16.4 LTS et versions supérieures.

Clé

Par défaut

Valeurs valides

Description

batchId

Dernier ID de batch

Entiers positifs ou 0

Le batch cible à partir duquel lire. Utilisez cette option pour interroger un état antérieur de la query. Le batch doit être validé, mais pas encore nettoyé.

operatorId

0

Entiers positifs ou 0

L'opérateur cible à partir duquel lire. Utilisez lorsque la query a plusieurs opérateurs avec état.

storeName

DEFAULT

N’importe quelle chaîne

Le nom du magasin d'état cible à partir duquel lire. Utilisez-le lorsque l'opérateur avec état dispose de plusieurs instances de magasin d'état. Vous devez spécifier soit storeName, soit joinSide pour une jointure Stream-Stream, mais pas les deux.

joinSide

Aucun

left, right

Le côté cible à lire pour une jointure Stream-Stream. Vous devez spécifier soit storeName, soit joinSide pour une jointure de Stream à Stream, mais pas les deux.

snapshotStartBatchId

Aucun

Entiers positifs ou 0

L'ID de batch du snapshot à utiliser comme point de départ lors de la lecture de l'état. Le lecteur reconstruit l'état en rejouant les modifications de ce snapshot jusqu'à batchId. Utile lorsqu'un snapshot est corrompu. Vous devez spécifier avec snapshotPartitionId. Impossible d'utiliser avec readChangeFeed. Prend en charge le stockage d'état HDFS et le stockage d'état RocksDB avec le point de contrôle du journal des modifications activé. Disponible dans Databricks Runtime 15.4 LTS et versions ultérieures.

snapshotPartitionId

Aucun

Entiers positifs ou 0

Si spécifié, la query lit uniquement cette partition. À spécifier avec snapshotStartBatchId. Impossible d'utiliser avec readChangeFeed. Disponible dans Databricks Runtime 15.4 LTS et versions supérieures.

readChangeFeed

false

true, false

Lorsque true, renvoie les changements d'état sur une plage spécifiée de batchs entre changeStartBatchId et changeEndBatchId. Nécessite changeStartBatchId. Ne peut pas être utilisé avec joinSide, batchId, snapshotStartBatchId ou snapshotPartitionId. Disponible dans Databricks Runtime 16.4 LTS et versions supérieures.

Pour plus de détails, consultez Lire les modifications d'état de Structured Streaming.

changeStartBatchId

Aucun

Entiers positifs ou 0

L'ID de batch de début pour la plage du flux de modifications. Obligatoire lorsque readChangeFeed est true. S'applique uniquement lorsque readChangeFeed est défini sur true. Disponible dans Databricks Runtime 16.4 LTS et versions supérieures.

changeEndBatchId

Dernier ID de batch

Entiers positifs ou 0

L'ID de batch de fin pour la plage du flux de modification. Doit être supérieur ou égal à changeStartBatchId. S'applique uniquement lorsque readChangeFeed est défini sur true. Disponible dans Databricks Runtime 16.4 LTS et versions supérieures.

stateVarName

Aucun

N’importe quelle chaîne

Le nom de la variable d'état à lire. Le nom de la variable d'état est le nom unique de chaque variable dans la fonction init d'un StatefulProcessor utilisé par l'opérateur transformWithState. Requis lorsque vous utilisez l'opérateur transformWithState. Disponible dans Databricks Runtime 16.4 LTS et versions supérieures.

readRegisteredTimers

false

true, false

Lorsque true, il lit les temporisateurs enregistrés utilisés par l'opérateur transformWithState. S'applique uniquement à l'opérateur transformWithState. Disponible dans Databricks Runtime 16,4 LTS et versions ultérieures.

flattenCollectionTypes

true

true, false

Lorsque true, aplatit les enregistrements retournés pour les variables d'état de type carte et liste. Lorsque false, retourne les enregistrements en tant que Array ou Map Spark SQL. Ne s'applique qu'à l'opérateur transformWithState. Disponible dans Databricks Runtime 16.4 LTS et versions supérieures.

Texte

Les options suivantes s’appliquent lors de la lecture de fichiers texte.

Clé

Par défaut

Valeurs valides

Description

encoding

UTF-8

Nom de java.nio.charset.Charset

Nom de l'encodage du séparateur de lignes du fichier TEXT. Le contenu du fichier n'est pas affecté par cette option et est lu tel quel.

lineSep

Aucun, qui couvre \r, \r\n et \n

Une chaîne

Une chaîne entre deux enregistrements TEXT consécutifs.

wholeText

false

true, false

Faut-il lire un fichier en tant qu'enregistrement unique.

Clé

Par défaut

Valeurs valides

Description

encoding

UTF-8

Nom de java.nio.charset.Charset

Nom de l'encodage du séparateur de lignes du fichier TEXT. Le contenu du fichier n'est pas affecté par cette option et est lu tel quel.

lineSep

Aucun, qui couvre \r, \r\n et \n

Une chaîne

Une chaîne entre deux enregistrements TEXT consécutifs.

wholeText

false

true, false

Faut-il lire un fichier en tant qu'enregistrement unique.

XML

Les options suivantes s'appliquent lors de la lecture de fichiers XML.

Clé

Par défaut

Valeurs valides

Description

rowTag

Aucun

N’importe quelle chaîne

Le tag de ligne des fichiers XML à traiter comme une ligne. Dans l'exemple XML <book> <page><page>...<book>, la valeur appropriée est page. C'est une option requise.

samplingRatio

1.0

0.0 à la 1.0

Définit une fraction de lignes utilisées pour l'inférence de schéma. Les fonctions XML intégrées ignorent cette option.

excludeAttribute

false

true, false

Exclure ou non les attributs dans les éléments.

mode

Aucun

PERMISSIVE, DROPMALFORMED, FAILFAST

Mode de gestion des enregistrements corrompus lors de l'analyse.

  • PERMISSIVE: Pour les enregistrements corrompus, insère la chaîne mal formée dans un champ configuré par columnNameOfCorruptRecord, et définit les champs mal formés à 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 ne possède pas le champ, les enregistrements corrompus sont ignorés lors de l'analyse. Lors de la déduction 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 XML intégrées.
  • FAILFAST: génère une exception lorsque l'analyseur rencontre des enregistrements corrompus.

inferSchema

true

true, false

Si true, tente d'inférer un type approprié pour chaque colonne de DataFrame résultante. Si false, toutes les colonnes résultantes sont de type string. Les fonctions XML intégrées ignorent cette option.

columnNameOfCorruptRecord

spark.sql.columnNameOfCorruptRecord

Une chaîne de nom de colonne

Permet de renommer le nouveau champ qui contient une chaîne mal formée créée par le mode PERMISSIVE.

attributePrefix

Aucun

N’importe quelle chaîne

Le préfixe des attributs pour différencier les attributs des éléments. Ce sera le préfixe des noms de champ. default est _. Peut être vide pour la lecture XML, mais pas pour l'écriture. S'applique également aux options XML de DataFrameWriter.

valueTag

_VALUE

N’importe quelle chaîne

La balise utilisée pour les données de caractère au sein des éléments qui ont également un ou plusieurs attribut(s) ou élément(s) enfant(s). L’utilisateur peut spécifier le champ valueTag dans le schéma, ou il sera ajouté automatiquement lors de l’inférence du schéma lorsque des données de caractères sont présentes dans des éléments comportant d’autres éléments ou attributs. S'applique également aux options XML de DataFrameWriter.

encoding

UTF-8

Nom de java.nio.charset.Charset

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. S'applique également aux options XML de DataFrameWriter.

ignoreSurroundingSpaces

true

true, false

Faut-il ignorer les espaces blancs qui entourent les valeurs. Les données composées uniquement d’espaces blancs sont ignorées.

rowValidationXSDPath

Aucun

Un chemin d'accès au fichier

Chemin d’accès à un fichier XSD facultatif qui est utilisé pour valider le XML pour chaque ligne individuellement. Les lignes qui ne parviennent pas à valider sont traitées comme des erreurs d’analyse. Le XSD n’affecte pas autrement le schéma, qu’il soit spécifié ou inféré.

ignoreNamespace

false

true, false

Si true, les préfixes des espaces de noms sur les éléments et attributs XML sont ignorés. Les tags <abc:author> et <def:author>, par exemple, sont traités comme si les deux n'étaient que <author>. Les espaces de noms ne peuvent pas être ignorés sur l’élément rowTag, seulement ses enfants de lecture. L'analyse XML ne tient pas compte des espaces de noms, même si false.

timestampFormat

yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]

Une chaîne de format Timestamp

Chaîne de format Timestamp personnalisée qui suit le format de modèle de date/heure. Ceci s'applique au type timestamp. S'applique également aux options XML de DataFrameWriter.

timestampNTZFormat

yyyy-MM-dd'T'HH:mm:ss[.SSS]

Une chaîne de format Timestamp

Chaîne de format personnalisée pour le timestamp sans fuseau horaire qui suit le format de modèle datetime. Cela s'applique au type TimestampNTZType. S'applique également aux options XML de DataFrameWriter.

dateFormat

yyyy-MM-dd

Une chaîne de format de date

Chaîne de format de date personnalisée qui suit le format du modèle de date/heure. Ceci s'applique au type de date. S'applique également aux options XML de DataFrameWriter.

locale

en-US

Une balise de langue IETF BCP 47

Définit un paramètre régional comme balise de langue au format IETF BCP 47. Par exemple, locale est utilisé lors de l’analyse des dates et des Timestamp.

nullValue

chaîne null

N’importe quelle chaîne

Définit la représentation sous forme de chaîne d'une valeur nulle. Lorsque la valeur est null, l'analyseur n'écrit pas d'attributs ni d'éléments pour les champs. S'applique également aux options XML de DataFrameWriter.

readerCaseSensitive

true

true, false

Spécifie le comportement de la sensibilité à la casse lorsque rescuedDataColumn est activé. Si la valeur est vraie, sauver les colonnes de données dont les noms diffèrent par la casse par rapport au schéma. Lorsque la valeur est fausse, lisez les données sans tenir compte de la casse.

rescuedDataColumn

Aucun

Une chaîne de nom de colonne

S'il faut collecter toutes les données qui ne peuvent pas être analysées en raison d'une incompatibilité de type de données et d'une incompatibilité de schéma (y compris la casse des colonnes) dans une colonne séparée. Cette colonne est incluse par default lors de l'utilisation d'Auto Loader. Pour plus de détails, voir Qu'est-ce que la colonne de données récupérées ?. COPY INTO (hérité) ne prend pas en charge la colonne de données récupérées car vous ne pouvez pas définir manuellement le schéma à l'aide de COPY INTO. Databricks recommande d'utiliser Auto Loader pour la plupart des scénarios d'ingestion.

singleVariantColumn

none

Une chaîne de nom de colonne

Spécifie le nom de la colonne Variant unique. Si cette option est spécifiée pour la lecture, analysez l'intégralité de l'enregistrement XML dans une colonne Variant unique, avec la valeur de chaîne d'option donnée comme nom de colonne. Si cette option est spécifiée pour l'écriture, écrivez la valeur de la colonne Variant unique dans les fichiers XML. S'applique également aux options XML de DataFrameWriter.

useLegacyXMLParser

true

true, false

S'il faut utiliser l'analyseur XML hérité. L'analyseur hérité a une validation moins stricte pour le contenu malformé, mais est moins efficace en termes de mémoire. Définissez sur false pour opter pour l'analyseur par default plus strict.

wildcardColName

xs_any

Une chaîne de nom de colonne

Le nom de colonne utilisé pour capturer les éléments XML qui correspondent à l’élément de schéma générique (xs:any). Ne peut pas être utilisé avec rescuedDataColumn.

Clé

Par défaut

Valeurs valides

Description

rowTag

Aucun

N’importe quelle chaîne

Le tag de ligne des fichiers XML à traiter comme une ligne. Dans l'exemple XML <book> <page><page>...<book>, la valeur appropriée est page. C'est une option requise.

samplingRatio

1.0

0.0 à la 1.0

Définit une fraction de lignes utilisées pour l'inférence de schéma. Les fonctions XML intégrées ignorent cette option.

excludeAttribute

false

true, false

Exclure ou non les attributs dans les éléments.

mode

Aucun

PERMISSIVE, DROPMALFORMED, FAILFAST

Mode de gestion des enregistrements corrompus lors de l'analyse.

  • PERMISSIVE: Pour les enregistrements corrompus, insère la chaîne mal formée dans un champ configuré par columnNameOfCorruptRecord, et définit les champs mal formés à 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 ne possède pas le champ, les enregistrements corrompus sont ignorés lors de l'analyse. Lors de la déduction 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 XML intégrées.
  • FAILFAST: génère une exception lorsque l'analyseur rencontre des enregistrements corrompus.

inferSchema

true

true, false

Si true, tente d'inférer un type approprié pour chaque colonne de DataFrame résultante. Si false, toutes les colonnes résultantes sont de type string. Les fonctions XML intégrées ignorent cette option.

columnNameOfCorruptRecord

spark.sql.columnNameOfCorruptRecord

Une chaîne de nom de colonne

Permet de renommer le nouveau champ qui contient une chaîne mal formée créée par le mode PERMISSIVE.

attributePrefix

Aucun

N’importe quelle chaîne

Le préfixe des attributs pour différencier les attributs des éléments. Ce sera le préfixe des noms de champ. default est _. Peut être vide pour la lecture XML, mais pas pour l'écriture. S'applique également aux options XML de DataFrameWriter.

valueTag

_VALUE

N’importe quelle chaîne

La balise utilisée pour les données de caractère au sein des éléments qui ont également un ou plusieurs attribut(s) ou élément(s) enfant(s). L’utilisateur peut spécifier le champ valueTag dans le schéma, ou il sera ajouté automatiquement lors de l’inférence du schéma lorsque des données de caractères sont présentes dans des éléments comportant d’autres éléments ou attributs. S'applique également aux options XML de DataFrameWriter.

encoding

UTF-8

Nom de java.nio.charset.Charset

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. S'applique également aux options XML de DataFrameWriter.

ignoreSurroundingSpaces

true

true, false

Faut-il ignorer les espaces blancs qui entourent les valeurs. Les données composées uniquement d’espaces blancs sont ignorées.

rowValidationXSDPath

Aucun

Un chemin d'accès au fichier

Chemin d’accès à un fichier XSD facultatif qui est utilisé pour valider le XML pour chaque ligne individuellement. Les lignes qui ne parviennent pas à valider sont traitées comme des erreurs d’analyse. Le XSD n’affecte pas autrement le schéma, qu’il soit spécifié ou inféré.

ignoreNamespace

false

true, false

Si true, les préfixes des espaces de noms sur les éléments et attributs XML sont ignorés. Les tags <abc:author> et <def:author>, par exemple, sont traités comme si les deux n'étaient que <author>. Les espaces de noms ne peuvent pas être ignorés sur l’élément rowTag, seulement ses enfants de lecture. L'analyse XML ne tient pas compte des espaces de noms, même si false.

timestampFormat

yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]

Une chaîne de format Timestamp

Chaîne de format Timestamp personnalisée qui suit le format de modèle de date/heure. Ceci s'applique au type timestamp. S'applique également aux options XML de DataFrameWriter.

timestampNTZFormat

yyyy-MM-dd'T'HH:mm:ss[.SSS]

Une chaîne de format Timestamp

Chaîne de format personnalisée pour le timestamp sans fuseau horaire qui suit le format de modèle datetime. Cela s'applique au type TimestampNTZType. S'applique également aux options XML de DataFrameWriter.

dateFormat

yyyy-MM-dd

Une chaîne de format de date

Chaîne de format de date personnalisée qui suit le format du modèle de date/heure. Ceci s'applique au type de date. S'applique également aux options XML de DataFrameWriter.

locale

en-US

Une balise de langue IETF BCP 47

Définit un paramètre régional comme balise de langue au format IETF BCP 47. Par exemple, locale est utilisé lors de l’analyse des dates et des Timestamp.

nullValue

chaîne null

N’importe quelle chaîne

Définit la représentation sous forme de chaîne d'une valeur nulle. Lorsque la valeur est null, l'analyseur n'écrit pas d'attributs ni d'éléments pour les champs. S'applique également aux options XML de DataFrameWriter.

readerCaseSensitive

true

true, false

Spécifie le comportement de la sensibilité à la casse lorsque rescuedDataColumn est activé. Si la valeur est vraie, sauver les colonnes de données dont les noms diffèrent par la casse par rapport au schéma. Lorsque la valeur est fausse, lisez les données sans tenir compte de la casse.

rescuedDataColumn

Aucun

Une chaîne de nom de colonne

S'il faut collecter toutes les données qui ne peuvent pas être analysées en raison d'une incompatibilité de type de données et d'une incompatibilité de schéma (y compris la casse des colonnes) dans une colonne séparée. Cette colonne est incluse par default lors de l'utilisation d'Auto Loader. Pour plus de détails, voir Qu'est-ce que la colonne de données récupérées ?. COPY INTO (hérité) ne prend pas en charge la colonne de données récupérées car vous ne pouvez pas définir manuellement le schéma à l'aide de COPY INTO. Databricks recommande d'utiliser Auto Loader pour la plupart des scénarios d'ingestion.

singleVariantColumn

none

Une chaîne de nom de colonne

Spécifie le nom de la colonne Variant unique. Si cette option est spécifiée pour la lecture, analysez l'intégralité de l'enregistrement XML dans une colonne Variant unique, avec la valeur de chaîne d'option donnée comme nom de colonne. Si cette option est spécifiée pour l'écriture, écrivez la valeur de la colonne Variant unique dans les fichiers XML. S'applique également aux options XML de DataFrameWriter.

useLegacyXMLParser

true

true, false

S'il faut utiliser l'analyseur XML hérité. L'analyseur hérité a une validation moins stricte pour le contenu malformé, mais est moins efficace en termes de mémoire. Définissez sur false pour opter pour l'analyseur par default plus strict.

wildcardColName

xs_any

Une chaîne de nom de colonne

Le nom de colonne utilisé pour capturer les éléments XML qui correspondent à l’élément de schéma générique (xs:any). Ne peut pas être utilisé avec rescuedDataColumn.

Options de DataStreamReader

Utilisez ces options avec DataStreamReader.option() pour configurer les lectures en streaming à partir des tables Delta Lake et d’autres sources basées sur des fichiers.

Pour les options de format de fichier (JSON, CSV, Parquet et autres), consultez les options DataFrameReader.

Pour les options d'Auto Loader (cloudFiles.*), voir Auto Loader.

Exemple

L'exemple suivant définit maxFilesPerTrigger sur 10 pour un Stream de table Delta Lake :

Python
df = spark.readStream.format("delta").option("maxFilesPerTrigger", 10).load("/path/to/delta-table")

Commun

Les options suivantes s'appliquent aux tables Delta Lake et aux autres sources de streaming basées sur des fichiers.

Clé

Par défaut

Valeurs valides

Description

cleanSource

off

off, delete, archive

Comment traiter les fichiers source après leur traitement par le stream. off ne prend aucune mesure. delete supprime définitivement le fichier source. archive déplace le fichier vers sourceArchiveDir. Lorsque archive est défini, sourceArchiveDir doit également l'être. Ne s'applique pas au streaming de table Delta Lake.

fileNameOnly

false

true, false

Qu'il s'agisse d'identifier les fichiers déjà traités par nom de fichier uniquement plutôt que par chemin d'accès complet. Lorsque true, les fichiers se trouvant à des chemins différents avec le même nom de fichier sont traités comme le même fichier et ne sont pas retraités. Ne s'applique pas au streaming des tables Delta Lake.

latestFirst

false

true, false

Indique s'il faut traiter les fichiers les plus récemment modifiés en premier dans chaque micro-batch. Utile lorsque vous souhaitez traiter les données les plus récentes le plus rapidement possible. Lorsque true et maxFilesPerTrigger ou maxBytesPerTrigger sont définis, maxFileAge est ignoré. Ne s'applique pas au streaming des tables Delta Lake.

maxBytesPerTrigger

Aucun

Nombres entiers positifs.

Maximum indicatif pour la quantité de données traitées pour chaque micro-batch. Un batch peut traiter plus que la limite si la plus petite unité d’entrée la dépasse. Lorsqu'il est utilisé avec maxFilesPerTrigger, le micro-batch traite les données jusqu'à ce que l'une ou l'autre des limites soit atteinte en premier.

Pour Auto Loader, utilisez cloudFiles.maxBytesPerTrigger à la place. Voir Courant.

maxCachedFiles

10000

Entiers positifs ou 0

Le nombre maximal de fichiers non traités à mettre en cache pour les micro-batches suivants. Définissez sur 0 pour désactiver la mise en cache. Augmentez cette valeur lorsque le répertoire source contient de nombreux nouveaux fichiers pour chaque trigger. Ne s'applique pas au streaming des tables Delta Lake.

maxFileAge

7d

Une chaîne de durée telle que 7d ou 4h

Âge maximal des fichiers pris en compte pour le traitement, par rapport au timestamp du fichier le plus récemment modifié plutôt qu'à l'heure système actuelle. Les fichiers plus anciens que ce threshold sont ignorés. Ignoré lorsque latestFirst est true et que maxFilesPerTrigger ou maxBytesPerTrigger est défini. Ne s'applique pas au streaming des tables Delta Lake.

maxFilesPerTrigger

1000 pour Delta Lake et Auto Loader. Aucun maximum pour les autres sources basées sur des fichiers.

Nombres entiers positifs.

Limite supérieure pour le nombre de nouveaux fichiers traités dans chaque micro-batch. Lorsqu'il est utilisé conjointement avec maxBytesPerTrigger, le micro-batch traite les données jusqu'à ce que l'une ou l'autre des limites soit atteinte en premier.

Pour Auto Loader, utilisez cloudFiles.maxFilesPerTrigger à la place. Voir Courant.

sourceArchiveDir

Aucun

Une chaîne de chemin

Chemin d'accès au répertoire d'archives lorsque cleanSource est défini sur archive. Les fichiers source sont déplacés vers ce chemin après traitement, en préservant leur structure de répertoires relative. Ne s'applique pas au streaming des tables Delta Lake.

Clé

Par défaut

Valeurs valides

Description

cleanSource

off

off, delete, archive

Comment traiter les fichiers source après leur traitement par le stream. off ne prend aucune mesure. delete supprime définitivement le fichier source. archive déplace le fichier vers sourceArchiveDir. Lorsque archive est défini, sourceArchiveDir doit également l'être. Ne s'applique pas au streaming de table Delta Lake.

fileNameOnly

false

true, false

Qu'il s'agisse d'identifier les fichiers déjà traités par nom de fichier uniquement plutôt que par chemin d'accès complet. Lorsque true, les fichiers se trouvant à des chemins différents avec le même nom de fichier sont traités comme le même fichier et ne sont pas retraités. Ne s'applique pas au streaming des tables Delta Lake.

latestFirst

false

true, false

Indique s'il faut traiter les fichiers les plus récemment modifiés en premier dans chaque micro-batch. Utile lorsque vous souhaitez traiter les données les plus récentes le plus rapidement possible. Lorsque true et maxFilesPerTrigger ou maxBytesPerTrigger sont définis, maxFileAge est ignoré. Ne s'applique pas au streaming des tables Delta Lake.

maxBytesPerTrigger

Aucun

Nombres entiers positifs.

Maximum indicatif pour la quantité de données traitées pour chaque micro-batch. Un batch peut traiter plus que la limite si la plus petite unité d’entrée la dépasse. Lorsqu'il est utilisé avec maxFilesPerTrigger, le micro-batch traite les données jusqu'à ce que l'une ou l'autre des limites soit atteinte en premier.

Pour Auto Loader, utilisez cloudFiles.maxBytesPerTrigger à la place. Voir Courant.

maxCachedFiles

10000

Entiers positifs ou 0

Le nombre maximal de fichiers non traités à mettre en cache pour les micro-batches suivants. Définissez sur 0 pour désactiver la mise en cache. Augmentez cette valeur lorsque le répertoire source contient de nombreux nouveaux fichiers pour chaque trigger. Ne s'applique pas au streaming des tables Delta Lake.

maxFileAge

7d

Une chaîne de durée telle que 7d ou 4h

Âge maximal des fichiers pris en compte pour le traitement, par rapport au timestamp du fichier le plus récemment modifié plutôt qu'à l'heure système actuelle. Les fichiers plus anciens que ce threshold sont ignorés. Ignoré lorsque latestFirst est true et que maxFilesPerTrigger ou maxBytesPerTrigger est défini. Ne s'applique pas au streaming des tables Delta Lake.

maxFilesPerTrigger

1000 pour Delta Lake et Auto Loader. Aucun maximum pour les autres sources basées sur des fichiers.

Nombres entiers positifs.

Limite supérieure pour le nombre de nouveaux fichiers traités dans chaque micro-batch. Lorsqu'il est utilisé conjointement avec maxBytesPerTrigger, le micro-batch traite les données jusqu'à ce que l'une ou l'autre des limites soit atteinte en premier.

Pour Auto Loader, utilisez cloudFiles.maxFilesPerTrigger à la place. Voir Courant.

sourceArchiveDir

Aucun

Une chaîne de chemin

Chemin d'accès au répertoire d'archives lorsque cleanSource est défini sur archive. Les fichiers source sont déplacés vers ce chemin après traitement, en préservant leur structure de répertoires relative. Ne s'applique pas au streaming des tables Delta Lake.

Auto Loader

Utilisez ces options avec la source cloudFiles pour configurer Auto Loader pour l'ingestion en streaming à partir du stockage cloud. Les options spécifiques à la source cloudFiles sont précédées de cloudFiles pour les conserver dans un espace de noms distinct des autres options de source Structured Streaming.

Commun

Les options suivantes s’appliquent à toutes les configurations Auto Loader.

Clé

Par défaut

Valeurs valides

Description

cloudFiles.allowOverwrites

false

true, false

Autoriser ou non les modifications de fichiers du répertoire d'entrée à écraser les données existantes.

Pour les mises en garde de configuration, voir L'Auto Loader traite-t-il à nouveau le fichier lorsqu'il est ajouté ou écrasé ?.

cloudFiles.backfillInterval

Aucun

Une chaîne de durée telle que 1 day ou 1 week

Auto Loader peut Trigger des remplissages asynchrones à un intervalle donné. Pour plus d'informations, consultez Trigger des backfills réguliers à l'aide de cloudFiles.backfillInterval.

Ne pas utiliser lorsque cloudFiles.useManagedFileEvents est défini sur true.

cloudFiles.cleanSource

OFF

OFF, DELETE, MOVE

Permet de supprimer ou de déplacer automatiquement les fichiers traités du répertoire d'entrée. Lorsqu'il est réglé sur OFF (default), aucun fichier n'est supprimé.

Lorsque défini sur DELETE, Auto Loader supprime automatiquement les fichiers 30 jours après leur traitement. Pour ce faire, Auto Loader doit disposer des autorisations d'écriture sur le répertoire source.

Lorsqu'il est défini sur MOVE, Auto Loader déplace automatiquement les fichiers vers l'emplacement spécifié dans cloudFiles.cleanSource.moveDestination 30 jours après leur traitement. Pour ce faire, Auto Loader doit disposer d'autorisations d'écriture sur le répertoire source ainsi que sur l'emplacement de déplacement.

Un fichier est considéré comme traité lorsqu'il a une valeur non nulle pour commit_time dans le résultat de la fonction à valeurs de table cloud_files_state. Consultez fonctioncloud_files_state à valeur de table. Le délai d'attente supplémentaire de 30 jours après le traitement peut être configuré à l'aide de cloudFiles.cleanSource.retentionDuration.

Examinez les considérations suivantes avant d'activer cloudFiles.cleanSource:

  • Databricks ne recommande pas d'utiliser cette option si plusieurs flux consomment des données à partir de l'emplacement source, car le consommateur le plus rapide supprimera les fichiers et ils ne seront pas ingérés dans les sources plus lentes.
  • L'activation de cette fonctionnalité nécessite qu'Auto Loader maintienne un état supplémentaire dans son point de contrôle, ce qui entraîne une surcharge de performances mais permet une meilleure observabilité via la fonction table cloud_files_state. Voir cloud_files_state fonction à valeur tabulaire.
  • cleanSource utilise le paramètre actuel pour décider s'il faut MOVE ou DELETE un fichier donné. Par exemple, supposez que le paramètre était MOVE lorsque le fichier a été traité initialement, mais qu'il a été remplacé par DELETE lorsque le fichier est devenu un candidat au nettoyage 30 jours plus tard. Dans ce cas, cleanSource supprimera le fichier.
  • Il n'est pas garanti que les fichiers soient nettoyés dès que le retentionDuration expire. Afin de maintenir les coûts à un niveau bas, Auto Loader supprime les fichiers simultanément au traitement du stream et se termine dès que le traitement du stream est terminé ou interrompu. Les fichiers qui étaient candidats au nettoyage, mais n'ont pas pu être nettoyés pendant le traitement du Stream, seront récupérés la prochaine fois que l'Auto Loader s'exécutera.

Disponible dans Databricks Runtime 16.4 et versions ultérieures.

cloudFiles.cleanSource.retentionDuration

30 days

Une chaîne CalendarInterval telle que 14 days, 2 weeks, ou 1 month

Durée d’attente avant que les fichiers traités ne deviennent des candidats à l’archivage avec cleanSource. Doit être supérieur à 7 jours pour DELETE. Aucune restriction minimale pour MOVE.

Disponible dans Databricks Runtime 16.4 et versions ultérieures.

cloudFiles.cleanSource.moveDestination

Aucun

Un chemin de stockage cloud ou de volume Unity Catalog

Chemin d'accès pour archiver les fichiers traités lorsque cloudFiles.cleanSource est défini sur MOVE. Il peut s'agir d'un chemin de stockage cloud ou d'un chemin de volume Unity Catalog (par exemple, /Volumes/my_catalog/my_schema/my_volume/archive/).

L'emplacement de déplacement doit :

  • Ne doit pas être un sous-répertoire du répertoire source. Si vous placez la destination du déplacement à l'intérieur du répertoire source, les fichiers archivés sont à nouveau ingérés.
  • Soyez dans le même emplacement externe, le même volume ou le même montage DBFS que la source. Les déplacements d'un compartiment à l'autre et d'un conteneur à l'autre ne sont pas pris en charge et entraînent une erreur.

Auto Loader doit disposer d'autorisations d'écriture pour ce répertoire.

Disponible dans Databricks Runtime 16.4 et versions ultérieures.

cloudFiles.format

Aucun (option requise)

avro, binaryFile, csv, json, orc, parquet, text, xml

Le format du fichier de données dans le chemin source. Les valeurs valides incluent :

cloudFiles.includeExistingFiles

true

true, false

S'il faut inclure les fichiers existants dans le chemin d'entrée du traitement de Stream ou traiter uniquement les nouveaux fichiers arrivant après la configuration initiale. Cette option n'est évaluée que lorsque vous start un Stream pour la première fois. La modification de cette option après le redémarrage du Stream n'a aucun effet.

cloudFiles.inferColumnTypes

false

true, false

Indique s'il faut inférer les types exacts de colonnes lors de l'inférence de schéma. Par default, les colonnes sont inférées en tant que chaînes lors de l'inférence de datasets JSON et CSV. Consultez l'inférence du schéma pour plus de détails.

cloudFiles.maxBytesPerTrigger

Aucun

Une chaîne d’octets telle que 10g

Le nombre maximum de nouveaux octets à traiter dans chaque Trigger. Il s'agit d'un maximum souple. Si vous avez des fichiers de 3 Go chacun, Databricks traite 12 Go dans un micro-batch. Un fichier individuel n'est jamais divisé entre les micro-batchs ; il est toujours traité entièrement dans un seul, même lorsque sa taille dépasse cette limite. Lorsqu'il est utilisé avec cloudFiles.maxFilesPerTrigger, Databricks consomme jusqu'à la limite inférieure de cloudFiles.maxFilesPerTrigger ou cloudFiles.maxBytesPerTrigger, selon la première atteinte. Cette option n'a aucun effet lorsqu'elle est utilisée avec Trigger.Once() (Trigger.Once() est obsolète).

Dans Databricks Runtime 18.0 et versions ultérieures, cette option est configurée dynamiquement et n'a pas besoin d'être définie manuellement.

cloudFiles.maxFileAge

Aucun

Une chaîne de durée

Combien de temps un événement de fichier est suivi à des fins de déduplication. Databricks ne recommande pas d'ajuster ce paramètre à moins que vous n'ingériez des données de l'ordre de millions de fichiers par heure. Consultez la section sur le suivi des événements de fichier pour plus de détails.

Un réglage trop agressif de cloudFiles.maxFileAge peut entraîner des problèmes de qualité des données, tels que l'ingestion de doublons ou des fichiers manquants. Par conséquent, Databricks recommande un réglage conservateur pour cloudFiles.maxFileAge, tel que 90 jours, ce qui est similaire à ce que recommandent les solutions d'ingestion de données comparables.

cloudFiles.maxFilesPerTrigger

1000

Nombres entiers positifs.

Le nombre maximum de nouveaux fichiers à traiter dans chaque trigger. Lorsqu’il est utilisé avec cloudFiles.maxBytesPerTrigger, Databricks consomme jusqu’à la limite inférieure de cloudFiles.maxFilesPerTrigger ou cloudFiles.maxBytesPerTrigger, selon ce qui est atteint en premier. Cette option n’a aucun effet lorsqu’elle est utilisée avec Trigger.Once() (obsolète).

Dans Databricks Runtime 18.0 et versions ultérieures, cette option est configurée dynamiquement et n'a pas besoin d'être définie manuellement.

cloudFiles.partitionColumns

Aucun

Une liste de noms de colonne séparés par des virgules

Une liste, séparée par des virgules, de colonnes de partition de style Hive que vous souhaitez inférer de la structure de répertoires des fichiers. Les colonnes de partition de style Hive sont des paires clé-valeur combinées par un signe d'égalité, tel que <base-path>/a=x/b=1/c=y/file.format. Dans cet exemple, les colonnes de partition sont a, b et c. Par default, ces colonnes sont automatiquement ajoutées à votre schéma si vous utilisez l'inférence de schéma et spécifiez le <base-path> à partir duquel charger les données. Si vous spécifiez un schéma, Auto Loader s’attend à ce que ces colonnes soient incluses dans le schéma. Si vous ne souhaitez pas que ces colonnes fassent partie de votre schéma, vous pouvez spécifier "" pour ignorer ces colonnes. De plus, vous pouvez utiliser cette option lorsque vous souhaitez que les colonnes soient inférées à partir du chemin de fichier dans des structures de répertoires 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

La spécification de cloudFiles.partitionColumns comme year,month,day renvoie year=2022 pour file1.csv, mais les colonnes month et day sont null.

month et day sont analysés correctement pour file2.csv et file3.csv.

cloudFiles.schemaEvolutionMode

addNewColumns lorsqu'un schéma n'est pas spécifié, none sinon

addNewColumns, none, rescue, failOnNewColumns

Le mode pour faire évoluer le schéma à mesure que de nouvelles colonnes sont découvertes dans les données. Par default, les colonnes sont déduites comme des chaînes lors de l'inférence de datasets JSON. Consultez l’évolution des schémas pour plus de détails.

cloudFiles.schemaHints

Aucun

Une chaîne de schémas

Informations de schéma que vous spécifiez à Auto Loader lors de l’inférence de schéma. Pour plus de détails, consultez les indications de schéma.

cloudFiles.schemaLocation

Aucun (requis pour déduire le schéma)

Une chaîne de chemin

L'emplacement pour stocker le schéma inféré et les modifications ultérieures. Consultez l'inférence de schéma pour plus de détails.

cloudFiles.useStrictGlobber

false

true, false

S'il faut utiliser un globber strict qui correspond au comportement de globbing par default des autres sources de fichiers dans Apache Spark. Consultez Modèles courants de chargement de données pour plus de détails. Disponible dans Databricks Runtime 12.2 LTS et versions ultérieures.

cloudFiles.validateOptions

true

true, false

Valider les options d'Auto Loader et renvoyer une erreur pour les options inconnues ou incohérentes.

Clé

Par défaut

Valeurs valides

Description

cloudFiles.allowOverwrites

false

true, false

Autoriser ou non les modifications de fichiers du répertoire d'entrée à écraser les données existantes.

Pour les mises en garde de configuration, voir L'Auto Loader traite-t-il à nouveau le fichier lorsqu'il est ajouté ou écrasé ?.

cloudFiles.backfillInterval

Aucun

Une chaîne de durée telle que 1 day ou 1 week

Auto Loader peut Trigger des remplissages asynchrones à un intervalle donné. Pour plus d'informations, consultez Trigger des backfills réguliers à l'aide de cloudFiles.backfillInterval.

Ne pas utiliser lorsque cloudFiles.useManagedFileEvents est défini sur true.

cloudFiles.cleanSource

OFF

OFF, DELETE, MOVE

Permet de supprimer ou de déplacer automatiquement les fichiers traités du répertoire d'entrée. Lorsqu'il est réglé sur OFF (default), aucun fichier n'est supprimé.

Lorsque défini sur DELETE, Auto Loader supprime automatiquement les fichiers 30 jours après leur traitement. Pour ce faire, Auto Loader doit disposer des autorisations d'écriture sur le répertoire source.

Lorsqu'il est défini sur MOVE, Auto Loader déplace automatiquement les fichiers vers l'emplacement spécifié dans cloudFiles.cleanSource.moveDestination 30 jours après leur traitement. Pour ce faire, Auto Loader doit disposer d'autorisations d'écriture sur le répertoire source ainsi que sur l'emplacement de déplacement.

Un fichier est considéré comme traité lorsqu'il a une valeur non nulle pour commit_time dans le résultat de la fonction à valeurs de table cloud_files_state. Consultez fonctioncloud_files_state à valeur de table. Le délai d'attente supplémentaire de 30 jours après le traitement peut être configuré à l'aide de cloudFiles.cleanSource.retentionDuration.

Examinez les considérations suivantes avant d'activer cloudFiles.cleanSource:

  • Databricks ne recommande pas d'utiliser cette option si plusieurs flux consomment des données à partir de l'emplacement source, car le consommateur le plus rapide supprimera les fichiers et ils ne seront pas ingérés dans les sources plus lentes.
  • L'activation de cette fonctionnalité nécessite qu'Auto Loader maintienne un état supplémentaire dans son point de contrôle, ce qui entraîne une surcharge de performances mais permet une meilleure observabilité via la fonction table cloud_files_state. Voir cloud_files_state fonction à valeur tabulaire.
  • cleanSource utilise le paramètre actuel pour décider s'il faut MOVE ou DELETE un fichier donné. Par exemple, supposez que le paramètre était MOVE lorsque le fichier a été traité initialement, mais qu'il a été remplacé par DELETE lorsque le fichier est devenu un candidat au nettoyage 30 jours plus tard. Dans ce cas, cleanSource supprimera le fichier.
  • Il n'est pas garanti que les fichiers soient nettoyés dès que le retentionDuration expire. Afin de maintenir les coûts à un niveau bas, Auto Loader supprime les fichiers simultanément au traitement du stream et se termine dès que le traitement du stream est terminé ou interrompu. Les fichiers qui étaient candidats au nettoyage, mais n'ont pas pu être nettoyés pendant le traitement du Stream, seront récupérés la prochaine fois que l'Auto Loader s'exécutera.

Disponible dans Databricks Runtime 16.4 et versions ultérieures.

cloudFiles.cleanSource.retentionDuration

30 days

Une chaîne CalendarInterval telle que 14 days, 2 weeks, ou 1 month

Durée d’attente avant que les fichiers traités ne deviennent des candidats à l’archivage avec cleanSource. Doit être supérieur à 7 jours pour DELETE. Aucune restriction minimale pour MOVE.

Disponible dans Databricks Runtime 16.4 et versions ultérieures.

cloudFiles.cleanSource.moveDestination

Aucun

Un chemin de stockage cloud ou de volume Unity Catalog

Chemin d'accès pour archiver les fichiers traités lorsque cloudFiles.cleanSource est défini sur MOVE. Il peut s'agir d'un chemin de stockage cloud ou d'un chemin de volume Unity Catalog (par exemple, /Volumes/my_catalog/my_schema/my_volume/archive/).

L'emplacement de déplacement doit :

  • Ne doit pas être un sous-répertoire du répertoire source. Si vous placez la destination du déplacement à l'intérieur du répertoire source, les fichiers archivés sont à nouveau ingérés.
  • Soyez dans le même emplacement externe, le même volume ou le même montage DBFS que la source. Les déplacements d'un compartiment à l'autre et d'un conteneur à l'autre ne sont pas pris en charge et entraînent une erreur.

Auto Loader doit disposer d'autorisations d'écriture pour ce répertoire.

Disponible dans Databricks Runtime 16.4 et versions ultérieures.

cloudFiles.format

Aucun (option requise)

avro, binaryFile, csv, json, orc, parquet, text, xml

Le format du fichier de données dans le chemin source. Les valeurs valides incluent :

cloudFiles.includeExistingFiles

true

true, false

S'il faut inclure les fichiers existants dans le chemin d'entrée du traitement de Stream ou traiter uniquement les nouveaux fichiers arrivant après la configuration initiale. Cette option n'est évaluée que lorsque vous start un Stream pour la première fois. La modification de cette option après le redémarrage du Stream n'a aucun effet.

cloudFiles.inferColumnTypes

false

true, false

Indique s'il faut inférer les types exacts de colonnes lors de l'inférence de schéma. Par default, les colonnes sont inférées en tant que chaînes lors de l'inférence de datasets JSON et CSV. Consultez l'inférence du schéma pour plus de détails.

cloudFiles.maxBytesPerTrigger

Aucun

Une chaîne d’octets telle que 10g

Le nombre maximum de nouveaux octets à traiter dans chaque Trigger. Il s'agit d'un maximum souple. Si vous avez des fichiers de 3 Go chacun, Databricks traite 12 Go dans un micro-batch. Un fichier individuel n'est jamais divisé entre les micro-batchs ; il est toujours traité entièrement dans un seul, même lorsque sa taille dépasse cette limite. Lorsqu'il est utilisé avec cloudFiles.maxFilesPerTrigger, Databricks consomme jusqu'à la limite inférieure de cloudFiles.maxFilesPerTrigger ou cloudFiles.maxBytesPerTrigger, selon la première atteinte. Cette option n'a aucun effet lorsqu'elle est utilisée avec Trigger.Once() (Trigger.Once() est obsolète).

Dans Databricks Runtime 18.0 et versions ultérieures, cette option est configurée dynamiquement et n'a pas besoin d'être définie manuellement.

cloudFiles.maxFileAge

Aucun

Une chaîne de durée

Combien de temps un événement de fichier est suivi à des fins de déduplication. Databricks ne recommande pas d'ajuster ce paramètre à moins que vous n'ingériez des données de l'ordre de millions de fichiers par heure. Consultez la section sur le suivi des événements de fichier pour plus de détails.

Un réglage trop agressif de cloudFiles.maxFileAge peut entraîner des problèmes de qualité des données, tels que l'ingestion de doublons ou des fichiers manquants. Par conséquent, Databricks recommande un réglage conservateur pour cloudFiles.maxFileAge, tel que 90 jours, ce qui est similaire à ce que recommandent les solutions d'ingestion de données comparables.

cloudFiles.maxFilesPerTrigger

1000

Nombres entiers positifs.

Le nombre maximum de nouveaux fichiers à traiter dans chaque trigger. Lorsqu’il est utilisé avec cloudFiles.maxBytesPerTrigger, Databricks consomme jusqu’à la limite inférieure de cloudFiles.maxFilesPerTrigger ou cloudFiles.maxBytesPerTrigger, selon ce qui est atteint en premier. Cette option n’a aucun effet lorsqu’elle est utilisée avec Trigger.Once() (obsolète).

Dans Databricks Runtime 18.0 et versions ultérieures, cette option est configurée dynamiquement et n'a pas besoin d'être définie manuellement.

cloudFiles.partitionColumns

Aucun

Une liste de noms de colonne séparés par des virgules

Une liste, séparée par des virgules, de colonnes de partition de style Hive que vous souhaitez inférer de la structure de répertoires des fichiers. Les colonnes de partition de style Hive sont des paires clé-valeur combinées par un signe d'égalité, tel que <base-path>/a=x/b=1/c=y/file.format. Dans cet exemple, les colonnes de partition sont a, b et c. Par default, ces colonnes sont automatiquement ajoutées à votre schéma si vous utilisez l'inférence de schéma et spécifiez le <base-path> à partir duquel charger les données. Si vous spécifiez un schéma, Auto Loader s’attend à ce que ces colonnes soient incluses dans le schéma. Si vous ne souhaitez pas que ces colonnes fassent partie de votre schéma, vous pouvez spécifier "" pour ignorer ces colonnes. De plus, vous pouvez utiliser cette option lorsque vous souhaitez que les colonnes soient inférées à partir du chemin de fichier dans des structures de répertoires 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

La spécification de cloudFiles.partitionColumns comme year,month,day renvoie year=2022 pour file1.csv, mais les colonnes month et day sont null.

month et day sont analysés correctement pour file2.csv et file3.csv.

cloudFiles.schemaEvolutionMode

addNewColumns lorsqu'un schéma n'est pas spécifié, none sinon

addNewColumns, none, rescue, failOnNewColumns

Le mode pour faire évoluer le schéma à mesure que de nouvelles colonnes sont découvertes dans les données. Par default, les colonnes sont déduites comme des chaînes lors de l'inférence de datasets JSON. Consultez l’évolution des schémas pour plus de détails.

cloudFiles.schemaHints

Aucun

Une chaîne de schémas

Informations de schéma que vous spécifiez à Auto Loader lors de l’inférence de schéma. Pour plus de détails, consultez les indications de schéma.

cloudFiles.schemaLocation

Aucun (requis pour déduire le schéma)

Une chaîne de chemin

L'emplacement pour stocker le schéma inféré et les modifications ultérieures. Consultez l'inférence de schéma pour plus de détails.

cloudFiles.useStrictGlobber

false

true, false

S'il faut utiliser un globber strict qui correspond au comportement de globbing par default des autres sources de fichiers dans Apache Spark. Consultez Modèles courants de chargement de données pour plus de détails. Disponible dans Databricks Runtime 12.2 LTS et versions ultérieures.

cloudFiles.validateOptions

true

true, false

Valider les options d'Auto Loader et renvoyer une erreur pour les options inconnues ou incohérentes.

Listing de répertoires

L'option suivante s'applique lors de l'utilisation du mode de listage de répertoires.

Clé

Par défaut

Valeurs valides

Description

cloudFiles.useIncrementalListing (obsolète)

auto sur Databricks Runtime 17.2 et versions antérieures, false sur Databricks Runtime 17.3 et versions supérieures

auto, true, false

Cette fonctionnalité est obsolète. Databricks recommande d'utiliser le mode de notification de fichiers avec les événements de fichiers au lieu de cloudFiles.useIncrementalListing.

Indique s’il faut utiliser le listage incrémentiel plutôt que le listage complet en mode listage de répertoire. Par default, Auto Loader fait de son mieux pour détecter automatiquement si un répertoire donné est applicable pour la liste incrémentielle. Vous pouvez utiliser explicitement le listing incrémentiel ou le listing complet du répertoire en le définissant comme true ou false respectivement.

L'activation incorrecte du listage incrémentiel sur un répertoire non classé par ordre lexical empêche Auto Loader de découvrir de nouveaux fichiers.

Fonctionne avec Azure Data Lake Storage (abfss://), S3 (s3://) et GCS (gs://).

Disponible dans Databricks Runtime 9.1 LTS et versions ultérieures.

Clé

Par défaut

Valeurs valides

Description

cloudFiles.useIncrementalListing (obsolète)

auto sur Databricks Runtime 17.2 et versions antérieures, false sur Databricks Runtime 17.3 et versions supérieures

auto, true, false

Cette fonctionnalité est obsolète. Databricks recommande d'utiliser le mode de notification de fichiers avec les événements de fichiers au lieu de cloudFiles.useIncrementalListing.

Indique s’il faut utiliser le listage incrémentiel plutôt que le listage complet en mode listage de répertoire. Par default, Auto Loader fait de son mieux pour détecter automatiquement si un répertoire donné est applicable pour la liste incrémentielle. Vous pouvez utiliser explicitement le listing incrémentiel ou le listing complet du répertoire en le définissant comme true ou false respectivement.

L'activation incorrecte du listage incrémentiel sur un répertoire non classé par ordre lexical empêche Auto Loader de découvrir de nouveaux fichiers.

Fonctionne avec Azure Data Lake Storage (abfss://), S3 (s3://) et GCS (gs://).

Disponible dans Databricks Runtime 9.1 LTS et versions ultérieures.

Notification de fichier

Pour des informations sur la configuration du mode de notification de fichiers, y compris les autorisations cloud requises, les instructions de configuration et les méthodes d’authentification, consultez Configurer les flux Auto Loader en mode de notification de fichiers.

Clé

Par défaut

Valeurs valides

Description

cloudFiles.fetchParallelism

1

Nombres entiers positifs.

Nombre de threads à utiliser lors de la récupération de messages du service de file d'attente.

Ne pas utiliser lorsque cloudFiles.useManagedFileEvents est défini sur true.

cloudFiles.pathRewrites

Aucun

Une chaîne de mappage JSON

Requis uniquement si vous spécifiez un queueUrl qui reçoit des notifications de fichiers de plusieurs compartiments S3 et que vous souhaitez utiliser des points de montage configurés pour accéder aux données dans ces conteneurs. Utilisez cette option pour réécrire le préfixe du chemin 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 s3://<databricks-mounted-bucket>/path/2017/08/fileA.json est réécrit en dbfs:/mnt/data-warehouse/2017/08/fileA.json.

Ne pas utiliser lorsque cloudFiles.useManagedFileEvents est défini sur true.

cloudFiles.resourceTag

Aucun

Chaînes de tag clé-valeur

Une série de paires de balises clé-valeur pour aider à associer et à identifier les Ressources associées, par exemple :

cloudFiles.option("cloudFiles.resourceTag.myFirstKey", "myFirstValue") .option("cloudFiles.resourceTag.mySecondKey", "mySecondValue")

Ne pas utiliser lorsque cloudFiles.useManagedFileEvents est défini sur true. Définissez plutôt les tags de ressources à l'aide de la console du fournisseur cloud.

Pour plus d'informations, voir balises de ressources de fournisseur cloud.

cloudFiles.useManagedFileEvents

false

true, false

Lorsqu'il est défini sur true, Auto Loader utilise le service d'événements de fichiers pour découvrir les fichiers dans votre emplacement externe. Vous ne pouvez utiliser cette option que si le chemin de chargement se trouve dans un emplacement externe où les événements de fichiers sont activés. Consultez Utiliser le mode de notification de fichiers avec les événements de fichiers.

Les événements de fichier offrent des performances au niveau des notifications en matière de découverte de fichiers, car Auto Loader peut découvrir de nouveaux fichiers après la dernière exécution. Contrairement à la liste de répertoires, ce processus n'a pas besoin de lister tous les fichiers du répertoire.

Il existe certaines situations où Auto Loader utilise la liste de répertoires même si l'option d'événements de fichiers est activée :

  • Lors du chargement initial, lorsque includeExistingFiles est défini sur true, une liste complète du répertoire est effectuée pour découvrir tous les fichiers qui étaient présents dans le répertoire avant le start d'Auto Loader.
  • Le service d'événements de fichier optimise la découverte de fichiers en mettant en cache les fichiers les plus récemment créés. Si Auto Loader s'exécute rarement, ce cache peut expirer, et Auto Loader recourt à la liste de répertoires pour découvrir les fichiers et mettre à jour le cache. Pour éviter ce scénario, exécutez Auto Loader au moins une fois tous les sept jours.

Consultez Quand Auto Loader utilise-t-il l'énumération des répertoires avec les événements de fichiers ? pour une liste complète des situations dans lesquelles Auto Loader utilise le listage de répertoires avec cette option.

Disponible dans Databricks Runtime 14.3 LTS et versions ultérieures.

cloudFiles.listOnStart

false

true, false

Lorsque true est défini, Auto Loader effectue un listage complet du répertoire au start du Stream, au lieu de start avec le jeton de continuation dans le checkpoint. Utilisez cette option pour récupérer des erreurs, comme CF_MANAGED_FILE_EVENTS_INVALID_CONTINUATION_TOKEN. Consultez Comment puis-je récupérer d'une erreur CF_MANAGED_FILE_EVENTS_INVALID_CONTINUATION_TOKEN ?.

cloudFiles.useNotifications

false

true, false

S'il faut utiliser le mode de notification de fichiers pour déterminer s'il y a de nouveaux fichiers. Si false, utilisez le mode de listage des répertoires. Consultez Comparez les modes de détection de fichiers d'Auto Loader.

Ne pas utiliser lorsque cloudFiles.useManagedFileEvents est défini sur true.

Clé

Par défaut

Valeurs valides

Description

cloudFiles.fetchParallelism

1

Nombres entiers positifs.

Nombre de threads à utiliser lors de la récupération de messages du service de file d'attente.

Ne pas utiliser lorsque cloudFiles.useManagedFileEvents est défini sur true.

cloudFiles.pathRewrites

Aucun

Une chaîne de mappage JSON

Requis uniquement si vous spécifiez un queueUrl qui reçoit des notifications de fichiers de plusieurs compartiments S3 et que vous souhaitez utiliser des points de montage configurés pour accéder aux données dans ces conteneurs. Utilisez cette option pour réécrire le préfixe du chemin 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 s3://<databricks-mounted-bucket>/path/2017/08/fileA.json est réécrit en dbfs:/mnt/data-warehouse/2017/08/fileA.json.

Ne pas utiliser lorsque cloudFiles.useManagedFileEvents est défini sur true.

cloudFiles.resourceTag

Aucun

Chaînes de tag clé-valeur

Une série de paires de balises clé-valeur pour aider à associer et à identifier les Ressources associées, par exemple :

cloudFiles.option("cloudFiles.resourceTag.myFirstKey", "myFirstValue") .option("cloudFiles.resourceTag.mySecondKey", "mySecondValue")

Ne pas utiliser lorsque cloudFiles.useManagedFileEvents est défini sur true. Définissez plutôt les tags de ressources à l'aide de la console du fournisseur cloud.

Pour plus d'informations, voir balises de ressources de fournisseur cloud.

cloudFiles.useManagedFileEvents

false

true, false

Lorsqu'il est défini sur true, Auto Loader utilise le service d'événements de fichiers pour découvrir les fichiers dans votre emplacement externe. Vous ne pouvez utiliser cette option que si le chemin de chargement se trouve dans un emplacement externe où les événements de fichiers sont activés. Consultez Utiliser le mode de notification de fichiers avec les événements de fichiers.

Les événements de fichier offrent des performances au niveau des notifications en matière de découverte de fichiers, car Auto Loader peut découvrir de nouveaux fichiers après la dernière exécution. Contrairement à la liste de répertoires, ce processus n'a pas besoin de lister tous les fichiers du répertoire.

Il existe certaines situations où Auto Loader utilise la liste de répertoires même si l'option d'événements de fichiers est activée :

  • Lors du chargement initial, lorsque includeExistingFiles est défini sur true, une liste complète du répertoire est effectuée pour découvrir tous les fichiers qui étaient présents dans le répertoire avant le start d'Auto Loader.
  • Le service d'événements de fichier optimise la découverte de fichiers en mettant en cache les fichiers les plus récemment créés. Si Auto Loader s'exécute rarement, ce cache peut expirer, et Auto Loader recourt à la liste de répertoires pour découvrir les fichiers et mettre à jour le cache. Pour éviter ce scénario, exécutez Auto Loader au moins une fois tous les sept jours.

Consultez Quand Auto Loader utilise-t-il l'énumération des répertoires avec les événements de fichiers ? pour une liste complète des situations dans lesquelles Auto Loader utilise le listage de répertoires avec cette option.

Disponible dans Databricks Runtime 14.3 LTS et versions ultérieures.

cloudFiles.listOnStart

false

true, false

Lorsque true est défini, Auto Loader effectue un listage complet du répertoire au start du Stream, au lieu de start avec le jeton de continuation dans le checkpoint. Utilisez cette option pour récupérer des erreurs, comme CF_MANAGED_FILE_EVENTS_INVALID_CONTINUATION_TOKEN. Consultez Comment puis-je récupérer d'une erreur CF_MANAGED_FILE_EVENTS_INVALID_CONTINUATION_TOKEN ?.

cloudFiles.useNotifications

false

true, false

S'il faut utiliser le mode de notification de fichiers pour déterminer s'il y a de nouveaux fichiers. Si false, utilisez le mode de listage des répertoires. Consultez Comparez les modes de détection de fichiers d'Auto Loader.

Ne pas utiliser lorsque cloudFiles.useManagedFileEvents est défini sur true.

Tags de ressources du fournisseur cloud

Auto Loader ajoute les paires de tags clé-valeur suivantes par default sur la base du meilleur effort :

  • vendor: Databricks
  • path: L'emplacement de chargement des données. Indisponible dans GCP en raison de limitations d'étiquetage.
  • checkpointLocation: L'emplacement du point de contrôle du Stream. Indisponible dans GCP en raison de limitations d'étiquetage.
  • streamId: Identifiant unique mondial pour le Stream.

Databricks réserve ces noms de clé et vous ne pouvez pas modifier leurs valeurs.

Pour plus d'informations sur AWS, consultez Tags d'allocation des coûts Amazon SQS et Configuration des tags pour un sujet Amazon SNS.

Spécifique au cloud

Auto Loader dispose d’options pour configurer l’infrastructure cloud pour le mode de notification de fichiers. Pour les autorisations cloud requises et les instructions de configuration, consultez Configurer les flux Auto Loader en mode de notification de fichiers.

AWS

Spécifiez les options suivantes uniquement si vous choisissez cloudFiles.useNotifications = true et que vous souhaitez que l'Auto Loader configure les services de notification pour vous :

Clé

Par défaut

Valeurs valides

Description

cloudFiles.region

La région de l'instance EC2.

Une chaîne de région AWS

La région où réside le compartiment S3 source et où vous souhaitez créer les services AWS SNS et SQS.

Clé

Par défaut

Valeurs valides

Description

cloudFiles.region

La région de l'instance EC2.

Une chaîne de région AWS

La région où réside le compartiment S3 source et où vous souhaitez créer les services AWS SNS et SQS.

Clé

Par défaut

Valeurs valides

Description

cloudFiles.restrictNotificationSetupToSameAWSAccountId

false

true, false

Autoriser uniquement les notifications d'événement provenant des compartiments AWS S3 dans le même compte que le sujet SNS. Lorsque c'est vrai, Auto Loader n'accepte les notifications d'événements que des compartiments AWS S3 du même compte que la rubrique SNS.

Lorsque false, la politique d'accès ne restreint pas les configurations de bucket inter-comptes et de rubriques SNS. Ceci est utile lorsque la rubrique SNS et le chemin d'accès au bucket sont associés à des comptes différents.

Disponible dans Databricks Runtime 17,2 et versions ultérieures.

Clé

Par défaut

Valeurs valides

Description

cloudFiles.restrictNotificationSetupToSameAWSAccountId

false

true, false

Autoriser uniquement les notifications d'événement provenant des compartiments AWS S3 dans le même compte que le sujet SNS. Lorsque c'est vrai, Auto Loader n'accepte les notifications d'événements que des compartiments AWS S3 du même compte que la rubrique SNS.

Lorsque false, la politique d'accès ne restreint pas les configurations de bucket inter-comptes et de rubriques SNS. Ceci est utile lorsque la rubrique SNS et le chemin d'accès au bucket sont associés à des comptes différents.

Disponible dans Databricks Runtime 17,2 et versions ultérieures.

Spécifiez l'option suivante uniquement si vous choisissez cloudFiles.useNotifications = true et que vous souhaitez qu'Auto Loader utilise une file d'attente que vous avez déjà configurée :

Clé

Par défaut

Valeurs valides

Description

cloudFiles.queueUrl

Aucun

Une chaîne d'URL

L'URL de la file d'attente SQS. Si spécifié, Auto Loader consomme directement les événements de cette file d'attente au lieu de configurer ses propres services AWS SNS et SQS.

Clé

Par défaut

Valeurs valides

Description

cloudFiles.queueUrl

Aucun

Une chaîne d'URL

L'URL de la file d'attente SQS. Si spécifié, Auto Loader consomme directement les événements de cette file d'attente au lieu de configurer ses propres services AWS SNS et SQS.

Options d'authentification AWS

Spécifiez l'option d'authentification suivante pour utiliser un identifiant de service Databricks :

Clé

Par défaut

Valeurs valides

Description

databricks.serviceCredential

Aucun

N’importe quelle chaîne

Le nom de votre identifiant de service Databricks. Disponible dans Databricks Runtime 16.1 et versions ultérieures.

Clé

Par défaut

Valeurs valides

Description

databricks.serviceCredential

Aucun

N’importe quelle chaîne

Le nom de votre identifiant de service Databricks. Disponible dans Databricks Runtime 16.1 et versions ultérieures.

Lorsque les informations d'identification du service Databricks ou les rôles IAM ne sont pas disponibles, vous pouvez spécifier les options d'authentification suivantes à la place :

Clé

Par défaut

Valeurs valides

Description

cloudFiles.awsAccessKey

Aucun

N’importe quelle chaîne

L'ID de la clé d'accès AWS pour l'utilisateur. Doit être spécifié avec cloudFiles.awsSecretKey.

cloudFiles.awsSecretKey

Aucun

N’importe quelle chaîne

La clé d'accès secrète AWS pour l'utilisateur. Doit être spécifié avec cloudFiles.awsAccessKey.

cloudFiles.roleArn

Aucun

Une chaîne d'ARN

L'ARN d'un rôle IAM à assumer, si nécessaire. Le rôle peut être assumé à partir du profil d'instance de votre cluster ou en fournissant des identifiants avec cloudFiles.awsAccessKey et cloudFiles.awsSecretKey.

cloudFiles.roleExternalId

Aucun

N’importe quelle chaîne

Un identifiant à utiliser lors de l'attribution d'un rôle avec cloudFiles.roleArn.

cloudFiles.roleSessionName

Aucun

N’importe quelle chaîne

Un nom de session facultatif à utiliser lors de l'adoption d'un rôle à l'aide de cloudFiles.roleArn.

cloudFiles.stsEndpoint

Aucun

Une chaîne d'URL

Un Endpoint facultatif à utiliser pour accéder à AWS STS lors de l’assomption d’un rôle à l’aide de cloudFiles.roleArn.

Clé

Par défaut

Valeurs valides

Description

cloudFiles.awsAccessKey

Aucun

N’importe quelle chaîne

L'ID de la clé d'accès AWS pour l'utilisateur. Doit être spécifié avec cloudFiles.awsSecretKey.

cloudFiles.awsSecretKey

Aucun

N’importe quelle chaîne

La clé d'accès secrète AWS pour l'utilisateur. Doit être spécifié avec cloudFiles.awsAccessKey.

cloudFiles.roleArn

Aucun

Une chaîne d'ARN

L'ARN d'un rôle IAM à assumer, si nécessaire. Le rôle peut être assumé à partir du profil d'instance de votre cluster ou en fournissant des identifiants avec cloudFiles.awsAccessKey et cloudFiles.awsSecretKey.

cloudFiles.roleExternalId

Aucun

N’importe quelle chaîne

Un identifiant à utiliser lors de l'attribution d'un rôle avec cloudFiles.roleArn.

cloudFiles.roleSessionName

Aucun

N’importe quelle chaîne

Un nom de session facultatif à utiliser lors de l'adoption d'un rôle à l'aide de cloudFiles.roleArn.

cloudFiles.stsEndpoint

Aucun

Une chaîne d'URL

Un Endpoint facultatif à utiliser pour accéder à AWS STS lors de l’assomption d’un rôle à l’aide de cloudFiles.roleArn.

Azure

Vous devez spécifier des valeurs pour toutes les options suivantes si vous spécifiez cloudFiles.useNotifications = true et que vous souhaitez qu’Auto Loader configure les services de notification pour vous :

Clé

Par défaut

Valeurs valides

Description

cloudFiles.resourceGroup

Aucun

N’importe quelle chaîne

Le groupe de ressources Azure dans lequel le compte de stockage est créé.

cloudFiles.subscriptionId

Aucun

N’importe quelle chaîne

L'ID d'abonnement Azure dans lequel le groupe de ressources est créé.

databricks.serviceCredential

Aucun

N’importe quelle chaîne

Le nom de votre identifiant de service Databricks. Disponible dans Databricks Runtime 16.1 et versions ultérieures.

Clé

Par défaut

Valeurs valides

Description

cloudFiles.resourceGroup

Aucun

N’importe quelle chaîne

Le groupe de ressources Azure dans lequel le compte de stockage est créé.

cloudFiles.subscriptionId

Aucun

N’importe quelle chaîne

L'ID d'abonnement Azure dans lequel le groupe de ressources est créé.

databricks.serviceCredential

Aucun

N’importe quelle chaîne

Le nom de votre identifiant de service Databricks. Disponible dans Databricks Runtime 16.1 et versions ultérieures.

Si un identifiant de service Databricks n'est pas disponible, vous pouvez spécifier les options d'authentification suivantes à la place :

Clé

Par défaut

Valeurs valides

Description

cloudFiles.clientId

Aucun

N’importe quelle chaîne

L'ID client ou l'ID d'application du Service Principal Databricks.

cloudFiles.clientSecret

Aucun

N’importe quelle chaîne

Le secret client du Service Principal Databricks.

cloudFiles.connectionString

Aucun

Une chaîne de connexion

La 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é (SAS).

cloudFiles.tenantId

Aucun

N’importe quelle chaîne

L'ID de tenant Azure dans lequel le Service Principal Databricks est créé.

Clé

Par défaut

Valeurs valides

Description

cloudFiles.clientId

Aucun

N’importe quelle chaîne

L'ID client ou l'ID d'application du Service Principal Databricks.

cloudFiles.clientSecret

Aucun

N’importe quelle chaîne

Le secret client du Service Principal Databricks.

cloudFiles.connectionString

Aucun

Une chaîne de connexion

La 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é (SAS).

cloudFiles.tenantId

Aucun

N’importe quelle chaîne

L'ID de tenant Azure dans lequel le Service Principal Databricks est créé.

Spécifiez l'option suivante uniquement si vous définissez cloudFiles.useNotifications = true et que vous souhaitez qu'Auto Loader utilise une file d'attente existante :

Clé

Par défaut

Valeurs valides

Description

cloudFiles.queueName

Aucun

N’importe quelle chaîne

Le nom de la file d'attente Azure. Si spécifié, 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 Queue Storage. Dans ce cas, votre databricks.serviceCredential ou cloudFiles.connectionString ne nécessite que des autorisations de lecture sur la file d'attente.

Clé

Par défaut

Valeurs valides

Description

cloudFiles.queueName

Aucun

N’importe quelle chaîne

Le nom de la file d'attente Azure. Si spécifié, 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 Queue Storage. Dans ce cas, votre databricks.serviceCredential ou cloudFiles.connectionString ne nécessite que des autorisations de lecture sur la file d'attente.

GCP

Auto Loader peut configurer automatiquement des services de notification pour vous en tirant parti des informations d'identification de service Databricks. Le compte de service créé avec les informations d'identification de service Databricks nécessitera les autorisations spécifiées dans Configurer les Stream Auto Loader en mode de notification de fichier.

Clé

Par défaut

Valeurs valides

Description

cloudFiles.projectId

Aucun

N’importe quelle chaîne

L'ID du projet dans lequel se trouve le compartiment GCS. L'abonnement Google Cloud Pub/Sub est également créé dans ce projet.

databricks.serviceCredential

Aucun

N’importe quelle chaîne

Le nom de votre identifiant de service Databricks. Disponible dans Databricks Runtime 16.1 et versions ultérieures.

Clé

Par défaut

Valeurs valides

Description

cloudFiles.projectId

Aucun

N’importe quelle chaîne

L'ID du projet dans lequel se trouve le compartiment GCS. L'abonnement Google Cloud Pub/Sub est également créé dans ce projet.

databricks.serviceCredential

Aucun

N’importe quelle chaîne

Le nom de votre identifiant de service Databricks. Disponible dans Databricks Runtime 16.1 et versions ultérieures.

Si un identifiant de service Databricks n'est pas disponible, vous pouvez utiliser directement les comptes de service Google. Vous pouvez soit configurer vos clusters pour qu’ils assument un compte de service en suivant la configuration du service Google, soit spécifier les options d’authentification suivantes :

Clé

Par défaut

Valeurs valides

Description

cloudFiles.client

Aucun

N’importe quelle chaîne

L'ID client du Compte de service Google.

cloudFiles.clientEmail

Aucun

Chaîne d'adresse e-mail

L'e-mail du compte de service Google.

cloudFiles.privateKey

Aucun

Une chaîne de clé privée

La clé privée qui est générée pour le Compte de service Google.

cloudFiles.privateKeyId

Aucun

N’importe quelle chaîne

L'ID de la clé privée qui est générée pour le compte de service Google.

Clé

Par défaut

Valeurs valides

Description

cloudFiles.client

Aucun

N’importe quelle chaîne

L'ID client du Compte de service Google.

cloudFiles.clientEmail

Aucun

Chaîne d'adresse e-mail

L'e-mail du compte de service Google.

cloudFiles.privateKey

Aucun

Une chaîne de clé privée

La clé privée qui est générée pour le Compte de service Google.

cloudFiles.privateKeyId

Aucun

N’importe quelle chaîne

L'ID de la clé privée qui est générée pour le compte de service Google.

Spécifiez l'option suivante uniquement si vous choisissez cloudFiles.useNotifications = true et que vous souhaitez qu'Auto Loader utilise une file d'attente que vous avez déjà configurée :

Clé

Par défaut

Valeurs valides

Description

cloudFiles.subscription

Aucun

N’importe quelle chaîne

Le nom de l'abonnement Google Cloud Pub/Sub. Si elle est spécifiée, 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.

Clé

Par défaut

Valeurs valides

Description

cloudFiles.subscription

Aucun

N’importe quelle chaîne

Le nom de l'abonnement Google Cloud Pub/Sub. Si elle est spécifiée, 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.

Delta Lake

Les options suivantes s'appliquent lors de la lecture à partir d'une table Delta Lake à l'aide de spark.readStream.

Clé

Par défaut

Valeurs valides

Description

allowSourceColumnDrop

Aucun

Un numéro de version ou always

Défini sur un numéro de version de table Delta ou always pour permettre au Stream de continuer après que les colonnes ont été supprimées du schéma de la table source. Lorsqu'il est défini sur un numéro de version, il prend en charge toutes les modifications de schéma jusqu'à cette version. Nécessite schemaTrackingLocation. Voir Renommer et supprimer des colonnes avec le mappage de colonnes Delta Lake.

allowSourceColumnRename

Aucun

Un numéro de version ou always

Définir sur un numéro de version de table Delta ou always pour permettre au Stream de continuer après que les colonnes ont été renommées dans la table source. Lorsqu'il est défini sur un numéro de version, il prend en charge toutes les modifications de schéma jusqu'à cette version. Nécessite schemaTrackingLocation. Voir Renommer et supprimer des colonnes avec le mappage de colonnes Delta Lake.

allowSourceColumnTypeChange

Aucun

Un numéro de version ou always

Définissez un numéro de version de table Delta ou always pour permettre au Stream de continuer après la modification des types de colonnes dans la table source. Lorsqu'il est défini sur un numéro de version, il prend en charge toutes les modifications de schéma jusqu'à cette version. Nécessite schemaTrackingLocation. Consultez Type widening.

excludeRegex

Aucun

Une chaîne regex Java

Un modèle d'expression régulière. Les fichiers dont les chemins correspondent au modèle sont exclus de la lecture en streaming. Utile pour filtrer les fichiers qui ne sont pas conformes à la convention de nommage attendue.

failOnDataLoss

true

true, false

Indique si la query de streaming doit échouer si les données source ont été supprimées en raison de la rétention des logs (logRetentionDuration). Définissez sur false pour ignorer les données manquantes et poursuivre le traitement. Voir Configurer la conservation des données pour les query Time Travel.

ignoreChanges (obsolète)

false

true, false

Disponible dans Databricks Runtime 11.3 LTS et versions inférieures. Réémet les fichiers de données réécrits après des opérations de modification telles que UPDATE, MERGE INTO, DELETE ou OVERWRITE. Les lignes inchangées peuvent être émises parallèlement aux nouvelles lignes, de sorte que les consommateurs en aval doivent gérer les doublons. Les suppressions ne sont pas propagées en aval. Remplacé par skipChangeCommits dans Databricks Runtime 12.2 LTS et versions supérieures.

ignoreDeletes (obsolète)

false

true, false

Ignore les transactions qui suppriment des données au niveau des limites de partition (uniquement les suppressions de partition complètes). Ne gère pas les suppressions, mises à jour ou autres modifications hors partition. Utilisez skipChangeCommits à la place.

readChangeFeed OU readChangeData

false

true, false

S’il faut activer la lecture du flux de données modifiées pour la query de streaming. Lorsqu’il est activé, le stream émet des modifications au niveau des lignes (insertions, mises à jour et suppressions) avec des colonnes de métadonnées supplémentaires. Consultez Utiliser le flux de données de modification sur Databricks.

schemaTrackingLocation

Aucun

Une chaîne de chemin

Chemin d'accès à un répertoire où Delta Lake effectue le suivi de l'évolution des schémas pour la lecture en streaming. Requis lors du streaming depuis des tables avec mappage de colonnes activé et en utilisant les options allowSourceColumn* pour gérer l'évolution des schémas. Doit se trouver dans le checkpointLocation de la query streaming. Voir Renommer et supprimer des colonnes avec le mappage de colonnes Delta Lake.

skipChangeCommits

false

true, false

Ignore les transactions qui suppriment ou modifient des enregistrements existants et traite uniquement les ajouts. Databricks recommande cette option pour la plupart des charges de travail qui n'utilisent pas de flux de données modifiées. Disponible dans Databricks Runtime 12.2 LTS et versions ultérieures. Voir Ignorer les commits de modifications en amont avec skipChangeCommits.

startingTimestamp

La plus récente disponible

Une chaîne Timestamp telle que 2019-01-01T00:00:00.000Z ou une chaîne de date telle que 2019-01-01

Timestamp à partir duquel start la lecture. Le stream lit toutes les modifications de table commitées à partir du timestamp spécifié. Si le timestamp précède tous les commits de table disponibles, le stream start à partir du premier commit disponible. Ne peut pas être utilisé avec startingVersion. Ignoré si le point de contrôle de streaming existe déjà.

startingVersion

La plus récente disponible

Un entier positif, 0, ou latest

Version de la table Delta à start la lecture à partir de. Le Stream lit toutes les modifications validées à partir de la version spécifiée. Spécifiez latest pour start uniquement à partir des modifications les plus récentes. Ne peut pas être utilisé avec startingTimestamp. Ignoré si le point de contrôle de streaming existe déjà. Consultez Utiliser l'historique de la table.

withEventTimeOrder

false

true, false

Divise l'instantané de table initial en buckets de temps d'événement pour empêcher que les enregistrements ne soient incorrectement marqués comme des événements tardifs et supprimés dans les requêtes avec état dotées de filigranes. Ne peut pas être modifié une fois le traitement initial de l'instantané commencé sans supprimer le point de contrôle. Disponible dans Databricks Runtime 11.3 LTS et versions ultérieures. Voir Traiter l'instantané initial sans perte de données.

Clé

Par défaut

Valeurs valides

Description

allowSourceColumnDrop

Aucun

Un numéro de version ou always

Défini sur un numéro de version de table Delta ou always pour permettre au Stream de continuer après que les colonnes ont été supprimées du schéma de la table source. Lorsqu'il est défini sur un numéro de version, il prend en charge toutes les modifications de schéma jusqu'à cette version. Nécessite schemaTrackingLocation. Voir Renommer et supprimer des colonnes avec le mappage de colonnes Delta Lake.

allowSourceColumnRename

Aucun

Un numéro de version ou always

Définir sur un numéro de version de table Delta ou always pour permettre au Stream de continuer après que les colonnes ont été renommées dans la table source. Lorsqu'il est défini sur un numéro de version, il prend en charge toutes les modifications de schéma jusqu'à cette version. Nécessite schemaTrackingLocation. Voir Renommer et supprimer des colonnes avec le mappage de colonnes Delta Lake.

allowSourceColumnTypeChange

Aucun

Un numéro de version ou always

Définissez un numéro de version de table Delta ou always pour permettre au Stream de continuer après la modification des types de colonnes dans la table source. Lorsqu'il est défini sur un numéro de version, il prend en charge toutes les modifications de schéma jusqu'à cette version. Nécessite schemaTrackingLocation. Consultez Type widening.

excludeRegex

Aucun

Une chaîne regex Java

Un modèle d'expression régulière. Les fichiers dont les chemins correspondent au modèle sont exclus de la lecture en streaming. Utile pour filtrer les fichiers qui ne sont pas conformes à la convention de nommage attendue.

failOnDataLoss

true

true, false

Indique si la query de streaming doit échouer si les données source ont été supprimées en raison de la rétention des logs (logRetentionDuration). Définissez sur false pour ignorer les données manquantes et poursuivre le traitement. Voir Configurer la conservation des données pour les query Time Travel.

ignoreChanges (obsolète)

false

true, false

Disponible dans Databricks Runtime 11.3 LTS et versions inférieures. Réémet les fichiers de données réécrits après des opérations de modification telles que UPDATE, MERGE INTO, DELETE ou OVERWRITE. Les lignes inchangées peuvent être émises parallèlement aux nouvelles lignes, de sorte que les consommateurs en aval doivent gérer les doublons. Les suppressions ne sont pas propagées en aval. Remplacé par skipChangeCommits dans Databricks Runtime 12.2 LTS et versions supérieures.

ignoreDeletes (obsolète)

false

true, false

Ignore les transactions qui suppriment des données au niveau des limites de partition (uniquement les suppressions de partition complètes). Ne gère pas les suppressions, mises à jour ou autres modifications hors partition. Utilisez skipChangeCommits à la place.

readChangeFeed OU readChangeData

false

true, false

S’il faut activer la lecture du flux de données modifiées pour la query de streaming. Lorsqu’il est activé, le stream émet des modifications au niveau des lignes (insertions, mises à jour et suppressions) avec des colonnes de métadonnées supplémentaires. Consultez Utiliser le flux de données de modification sur Databricks.

schemaTrackingLocation

Aucun

Une chaîne de chemin

Chemin d'accès à un répertoire où Delta Lake effectue le suivi de l'évolution des schémas pour la lecture en streaming. Requis lors du streaming depuis des tables avec mappage de colonnes activé et en utilisant les options allowSourceColumn* pour gérer l'évolution des schémas. Doit se trouver dans le checkpointLocation de la query streaming. Voir Renommer et supprimer des colonnes avec le mappage de colonnes Delta Lake.

skipChangeCommits

false

true, false

Ignore les transactions qui suppriment ou modifient des enregistrements existants et traite uniquement les ajouts. Databricks recommande cette option pour la plupart des charges de travail qui n'utilisent pas de flux de données modifiées. Disponible dans Databricks Runtime 12.2 LTS et versions ultérieures. Voir Ignorer les commits de modifications en amont avec skipChangeCommits.

startingTimestamp

La plus récente disponible

Une chaîne Timestamp telle que 2019-01-01T00:00:00.000Z ou une chaîne de date telle que 2019-01-01

Timestamp à partir duquel start la lecture. Le stream lit toutes les modifications de table commitées à partir du timestamp spécifié. Si le timestamp précède tous les commits de table disponibles, le stream start à partir du premier commit disponible. Ne peut pas être utilisé avec startingVersion. Ignoré si le point de contrôle de streaming existe déjà.

startingVersion

La plus récente disponible

Un entier positif, 0, ou latest

Version de la table Delta à start la lecture à partir de. Le Stream lit toutes les modifications validées à partir de la version spécifiée. Spécifiez latest pour start uniquement à partir des modifications les plus récentes. Ne peut pas être utilisé avec startingTimestamp. Ignoré si le point de contrôle de streaming existe déjà. Consultez Utiliser l'historique de la table.

withEventTimeOrder

false

true, false

Divise l'instantané de table initial en buckets de temps d'événement pour empêcher que les enregistrements ne soient incorrectement marqués comme des événements tardifs et supprimés dans les requêtes avec état dotées de filigranes. Ne peut pas être modifié une fois le traitement initial de l'instantané commencé sans supprimer le point de contrôle. Disponible dans Databricks Runtime 11.3 LTS et versions ultérieures. Voir Traiter l'instantané initial sans perte de données.

Kafka

Utilisez ces options avec spark.readStream.format("kafka") ou spark.read.format("kafka"):

Clé

Par défaut

Valeurs valides

Description

assign

Aucun

Une chaîne JSON telle que {"topicA":[0,1],"topicB":[2,4]}

Les partitions spécifiques à consommer. Vous devez spécifier exactement l’une des options subscribe, subscribePattern ou assign.

failOnDataLoss

true

true, false

Échouer la query si des données ont pu être perdues, par exemple en raison de rubriques supprimées ou d'un troncage de décalage. Réglez sur false pour ignorer les données manquantes et continuer.

Databricks estime de manière prudente si des données ont pu être perdues. Cependant, cela pourrait entraîner de fausses alertes.

fetchoffset.numretries

3

Entiers positifs ou 0

Le nombre de tentatives lorsque la récupération des offsets Kafka échoue.

fetchoffset.retryintervalms

1000

Entiers positifs ou 0

L’intervalle en millisecondes entre les tentatives de récupération de décalage.

groupIdPrefix

spark-kafka-source (streaming), spark-kafka-relation (batch)

N’importe quelle chaîne

Le préfixe personnalisé à utiliser pour l'ID de groupe de consommateurs Kafka auto-généré. Si kafka.group.id est explicitement défini, le connecteur ignore cette option.

kafka.group.id

Aucun

N’importe quelle chaîne

L'ID du groupe de consommateurs Kafka à utiliser lors de la lecture. À utiliser avec prudence : les queries partageant le même ID de groupe interfèrent les unes avec les autres et pourraient ne lire que des données partielles. Cela peut se produire lors de l'exécution simultanée de charges de travail batch et streaming, ou lors du redémarrage rapide des queries. Si défini, groupIdPrefix est ignoré. Pour minimiser les problèmes, définissez la configuration du consommateur Kafka session.timeout.ms à une petite valeur.

includeHeaders

false

true, false

S'il faut inclure les en-têtes de message Kafka en tant que colonne dans le résultat.

kafkaconsumer.polltimeoutms

Aucun

Nombres entiers positifs.

Le délai d'expiration en millisecondes pour l'appel poll() du consommateur Kafka.

kafka.bootstrap.servers

Aucun

Une liste de host:port chaînes séparées par des virgules

Une liste d'hôtes séparés par des virgules Adresses des brokers Kafka. Définit la propriété bootstrap.servers du client Kafka.

Si vous constatez qu'il n'y a pas de données provenant de Kafka, vérifiez cette liste d'adresses de broker pour y trouver d'éventuelles adresses incorrectes. Si la liste d'adresses de broker est incorrecte, il est possible qu'il n'y ait aucune erreur. Les clients Kafka partent du principe que les brokers seront disponibles à terme et tentent indéfiniment la connexion lorsqu'ils reçoivent des erreurs réseau.

maxRecordsPerPartition

Aucun

Nombres entiers positifs.

Le nombre maximal d'enregistrements pour chaque partition Spark. Lorsque ce paramètre est activé, le connecteur divise les partitions Kafka afin que chaque partition Spark lise au maximum ce nombre d'enregistrements.

Vous pouvez également utiliser cette option avec minPartitions. Lorsque les deux options sont définies, Spark utilise l'option qui entraîne le plus de partitions.

minPartitions

Aucun

Nombres entiers positifs.

Le nombre minimum de partitions Spark à lire depuis Kafka. Lorsqu'il est configuré, le connecteur divise les grandes partitions Kafka pour augmenter le parallélisme. Lorsqu'il n'est pas défini, Spark crée une partition pour chaque partition de sujet Kafka. Utile pour gérer l'asymétrie des données ou les charges de pointe.

Cette option réinitialise les consommateurs Kafka pour chaque Trigger, ce qui pourrait affecter les performances avec SSL.

startingOffsets

latest (streaming), earliest (batch)

earliest, latest, ou une chaîne de décalage JSON

Le décalage à partir duquel la query commence la lecture. Dans la chaîne JSON, -1 est le dernier décalage. -2 est le décalage le plus ancien. Par exemple : {"topicA":{"0":23,"1":-2}}.

Pour les requêtes en streaming, cette option ne s'applique que lorsqu'une nouvelle query démarre. Les requêtes reprises utilisent toujours le point de contrôle. Pendant une query, les nouvelles partitions start la lecture au décalage le plus ancien.

Pour les requêtes par lots, latest n'est pas autorisé.

startingOffsetsByTimestamp

Aucun

Une chaîne Timestamp JSON telle que {"topicA":{"0":1000,"1":2000}}

Une liste des décalages de départ pour chaque partition, spécifiés sous forme de timestamps en millisecondes. Lorsqu'aucun décalage n'existe pour un timestamp, le comportement de la query est déterminé par startingOffsetsByTimestampStrategy.

Pour les requêtes en streaming, cette option ne s'applique que lorsqu'une nouvelle query démarre. Les requêtes reprises utilisent toujours le point de contrôle. Pendant une query, les nouvelles partitions start la lecture au décalage le plus ancien.

startingOffsetsByTimestampStrategy

error

error, latest

La stratégie à utiliser lorsqu'aucun décalage n'est trouvé pour un Timestamp spécifié dans startingOffsetsByTimestamp ou startingTimestamp. error lève une exception. latest utilise le dernier décalage disponible.

startingTimestamp

Aucun

Entiers positifs ou 0

Le global starting Timestamp en millisecondes qui s'applique à toutes les partitions. Lorsqu'aucun offset n'existe pour le Timestamp, le comportement est contrôlé par startingOffsetsByTimestampStrategy.

subscribe

Aucun

Une liste de noms de sujets séparés par des virgules.

Les sujets auxquels s'abonner. Vous devez spécifier exactement l’une des options subscribe, subscribePattern ou assign.

subscribePattern

Aucun

Une chaîne regex Java

Le modèle utilisé pour s'abonner aux rubriques. Vous devez spécifier exactement une des options subscribe, subscribePattern ou assign. Par exemple, topic.*.

Clé

Par défaut

Valeurs valides

Description

assign

Aucun

Une chaîne JSON telle que {"topicA":[0,1],"topicB":[2,4]}

Les partitions spécifiques à consommer. Vous devez spécifier exactement l’une des options subscribe, subscribePattern ou assign.

failOnDataLoss

true

true, false

Échouer la query si des données ont pu être perdues, par exemple en raison de rubriques supprimées ou d'un troncage de décalage. Réglez sur false pour ignorer les données manquantes et continuer.

Databricks estime de manière prudente si des données ont pu être perdues. Cependant, cela pourrait entraîner de fausses alertes.

fetchoffset.numretries

3

Entiers positifs ou 0

Le nombre de tentatives lorsque la récupération des offsets Kafka échoue.

fetchoffset.retryintervalms

1000

Entiers positifs ou 0

L’intervalle en millisecondes entre les tentatives de récupération de décalage.

groupIdPrefix

spark-kafka-source (streaming), spark-kafka-relation (batch)

N’importe quelle chaîne

Le préfixe personnalisé à utiliser pour l'ID de groupe de consommateurs Kafka auto-généré. Si kafka.group.id est explicitement défini, le connecteur ignore cette option.

kafka.group.id

Aucun

N’importe quelle chaîne

L'ID du groupe de consommateurs Kafka à utiliser lors de la lecture. À utiliser avec prudence : les queries partageant le même ID de groupe interfèrent les unes avec les autres et pourraient ne lire que des données partielles. Cela peut se produire lors de l'exécution simultanée de charges de travail batch et streaming, ou lors du redémarrage rapide des queries. Si défini, groupIdPrefix est ignoré. Pour minimiser les problèmes, définissez la configuration du consommateur Kafka session.timeout.ms à une petite valeur.

includeHeaders

false

true, false

S'il faut inclure les en-têtes de message Kafka en tant que colonne dans le résultat.

kafkaconsumer.polltimeoutms

Aucun

Nombres entiers positifs.

Le délai d'expiration en millisecondes pour l'appel poll() du consommateur Kafka.

kafka.bootstrap.servers

Aucun

Une liste de host:port chaînes séparées par des virgules

Une liste d'hôtes séparés par des virgules Adresses des brokers Kafka. Définit la propriété bootstrap.servers du client Kafka.

Si vous constatez qu'il n'y a pas de données provenant de Kafka, vérifiez cette liste d'adresses de broker pour y trouver d'éventuelles adresses incorrectes. Si la liste d'adresses de broker est incorrecte, il est possible qu'il n'y ait aucune erreur. Les clients Kafka partent du principe que les brokers seront disponibles à terme et tentent indéfiniment la connexion lorsqu'ils reçoivent des erreurs réseau.

maxRecordsPerPartition

Aucun

Nombres entiers positifs.

Le nombre maximal d'enregistrements pour chaque partition Spark. Lorsque ce paramètre est activé, le connecteur divise les partitions Kafka afin que chaque partition Spark lise au maximum ce nombre d'enregistrements.

Vous pouvez également utiliser cette option avec minPartitions. Lorsque les deux options sont définies, Spark utilise l'option qui entraîne le plus de partitions.

minPartitions

Aucun

Nombres entiers positifs.

Le nombre minimum de partitions Spark à lire depuis Kafka. Lorsqu'il est configuré, le connecteur divise les grandes partitions Kafka pour augmenter le parallélisme. Lorsqu'il n'est pas défini, Spark crée une partition pour chaque partition de sujet Kafka. Utile pour gérer l'asymétrie des données ou les charges de pointe.

Cette option réinitialise les consommateurs Kafka pour chaque Trigger, ce qui pourrait affecter les performances avec SSL.

startingOffsets

latest (streaming), earliest (batch)

earliest, latest, ou une chaîne de décalage JSON

Le décalage à partir duquel la query commence la lecture. Dans la chaîne JSON, -1 est le dernier décalage. -2 est le décalage le plus ancien. Par exemple : {"topicA":{"0":23,"1":-2}}.

Pour les requêtes en streaming, cette option ne s'applique que lorsqu'une nouvelle query démarre. Les requêtes reprises utilisent toujours le point de contrôle. Pendant une query, les nouvelles partitions start la lecture au décalage le plus ancien.

Pour les requêtes par lots, latest n'est pas autorisé.

startingOffsetsByTimestamp

Aucun

Une chaîne Timestamp JSON telle que {"topicA":{"0":1000,"1":2000}}

Une liste des décalages de départ pour chaque partition, spécifiés sous forme de timestamps en millisecondes. Lorsqu'aucun décalage n'existe pour un timestamp, le comportement de la query est déterminé par startingOffsetsByTimestampStrategy.

Pour les requêtes en streaming, cette option ne s'applique que lorsqu'une nouvelle query démarre. Les requêtes reprises utilisent toujours le point de contrôle. Pendant une query, les nouvelles partitions start la lecture au décalage le plus ancien.

startingOffsetsByTimestampStrategy

error

error, latest

La stratégie à utiliser lorsqu'aucun décalage n'est trouvé pour un Timestamp spécifié dans startingOffsetsByTimestamp ou startingTimestamp. error lève une exception. latest utilise le dernier décalage disponible.

startingTimestamp

Aucun

Entiers positifs ou 0

Le global starting Timestamp en millisecondes qui s'applique à toutes les partitions. Lorsqu'aucun offset n'existe pour le Timestamp, le comportement est contrôlé par startingOffsetsByTimestampStrategy.

subscribe

Aucun

Une liste de noms de sujets séparés par des virgules.

Les sujets auxquels s'abonner. Vous devez spécifier exactement l’une des options subscribe, subscribePattern ou assign.

subscribePattern

Aucun

Une chaîne regex Java

Le modèle utilisé pour s'abonner aux rubriques. Vous devez spécifier exactement une des options subscribe, subscribePattern ou assign. Par exemple, topic.*.

Les options suivantes s'appliquent uniquement aux lectures en streaming avec spark.readStream.format("kafka"):

Clé

Par défaut

Valeurs valides

Description

bytesEstimateWindowLength

300s

Chaînes de durée telles que 10m ou 600s

La fenêtre de temps utilisée pour estimer les octets restants pour la métrique estimatedTotalBytesBehindLatest. Consultez Récupérer les métriques Kafka.

maxOffsetsPerTrigger

Aucun

Nombres entiers positifs.

Le nombre maximal de décalages à traiter par intervalle de Trigger. Les décalages sont distribués proportionnellement entre les partitions de rubrique.

maxTriggerDelay

15m

Chaînes de durée telles que 10m ou 600s

Le temps maximal d’attente avant que minOffsetsPerTrigger ne s'accumule avant le Trigger.

minOffsetsPerTrigger

Aucun

Nombres entiers positifs.

Le nombre minimum de décalages à accumuler avant de Trigger un micro-batch. Lorsque maxTriggerDelay est atteint, le micro-batch s'exécute quand même.

Clé

Par défaut

Valeurs valides

Description

bytesEstimateWindowLength

300s

Chaînes de durée telles que 10m ou 600s

La fenêtre de temps utilisée pour estimer les octets restants pour la métrique estimatedTotalBytesBehindLatest. Consultez Récupérer les métriques Kafka.

maxOffsetsPerTrigger

Aucun

Nombres entiers positifs.

Le nombre maximal de décalages à traiter par intervalle de Trigger. Les décalages sont distribués proportionnellement entre les partitions de rubrique.

maxTriggerDelay

15m

Chaînes de durée telles que 10m ou 600s

Le temps maximal d’attente avant que minOffsetsPerTrigger ne s'accumule avant le Trigger.

minOffsetsPerTrigger

Aucun

Nombres entiers positifs.

Le nombre minimum de décalages à accumuler avant de Trigger un micro-batch. Lorsque maxTriggerDelay est atteint, le micro-batch s'exécute quand même.

Pour les options de décalage qui s'appliquent uniquement aux lectures par batch avec spark.read.format("kafka"), consultez les options Kafka de DataFrameReader.

Authentification

Databricks recommande d'utiliser un identifiant de service Unity Catalog pour s'authentifier auprès des services Kafka gérés dans le cloud (AWS MSK, Azure Event Hubs ou Google Cloud Managed Kafka).

Clé

Par défaut

Valeurs valides

Description

databricks.serviceCredential

Aucun

N’importe quelle chaîne

Le nom d'une credential de service Unity Catalog pour l'authentification aux services Kafka gérés dans le cloud. Disponible dans Databricks Runtime 16.1 et versions ultérieures.

databricks.serviceCredential.scope

Aucun

N’importe quelle chaîne

Le champ d'application d'OAuth pour les informations d'identification de service. Définissez ceci uniquement lorsque Databricks ne peut pas inférer automatiquement la portée de votre service Kafka.

Clé

Par défaut

Valeurs valides

Description

databricks.serviceCredential

Aucun

N’importe quelle chaîne

Le nom d'une credential de service Unity Catalog pour l'authentification aux services Kafka gérés dans le cloud. Disponible dans Databricks Runtime 16.1 et versions ultérieures.

databricks.serviceCredential.scope

Aucun

N’importe quelle chaîne

Le champ d'application d'OAuth pour les informations d'identification de service. Définissez ceci uniquement lorsque Databricks ne peut pas inférer automatiquement la portée de votre service Kafka.

Lorsqu'un identifiant de service n'est pas disponible, utilisez les options SASL/SSL (transmises en tant que propriétés kafka.*). Lorsque vous utilisez un identifiant de service, vous n'avez pas besoin de spécifier kafka.sasl.mechanism, kafka.sasl.jaas.config, ou kafka.security.protocol.

Clé

Par défaut

Valeurs valides

Description

kafka.security.protocol

Aucun

Une chaîne de protocole de sécurité, telle que SASL_SSL, SSL, PLAINTEXT

Le protocole de sécurité pour la communication de courtier.

kafka.sasl.mechanism

Aucun

Une chaîne de mécanisme SASL, telle que PLAIN, SCRAM-SHA-256, SCRAM-SHA-512, OAUTHBEARER, AWS_MSK_IAM

Le mécanisme SASL.

kafka.sasl.jaas.config

Aucun

Une chaîne de configuration JAAS

La chaîne de configuration de connexion JAAS.

kafka.sasl.login.callback.handler.class

Aucun

Un nom de classe entièrement qualifié

Le nom de classe entièrement qualifié d'un gestionnaire de rappel de connexion pour l'authentification SASL.

kafka.sasl.client.callback.handler.class

Aucun

Un nom de classe entièrement qualifié

Le nom de classe entièrement qualifié d'un gestionnaire de rappel client pour l'authentification SASL.

kafka.ssl.truststore.location

Aucun

Un chemin d'accès au fichier

Le chemin d’accès au fichier du magasin de confiance SSL.

kafka.ssl.truststore.password

Aucun

N’importe quelle chaîne

Le mot de passe du fichier de magasin de confiance SSL.

kafka.ssl.keystore.location

Aucun

Un chemin d'accès au fichier

Le chemin d'accès au fichier de stockage de clés SSL.

kafka.ssl.keystore.password

Aucun

N’importe quelle chaîne

Le mot de passe du fichier de magasin de clés SSL.

Clé

Par défaut

Valeurs valides

Description

kafka.security.protocol

Aucun

Une chaîne de protocole de sécurité, telle que SASL_SSL, SSL, PLAINTEXT

Le protocole de sécurité pour la communication de courtier.

kafka.sasl.mechanism

Aucun

Une chaîne de mécanisme SASL, telle que PLAIN, SCRAM-SHA-256, SCRAM-SHA-512, OAUTHBEARER, AWS_MSK_IAM

Le mécanisme SASL.

kafka.sasl.jaas.config

Aucun

Une chaîne de configuration JAAS

La chaîne de configuration de connexion JAAS.

kafka.sasl.login.callback.handler.class

Aucun

Un nom de classe entièrement qualifié

Le nom de classe entièrement qualifié d'un gestionnaire de rappel de connexion pour l'authentification SASL.

kafka.sasl.client.callback.handler.class

Aucun

Un nom de classe entièrement qualifié

Le nom de classe entièrement qualifié d'un gestionnaire de rappel client pour l'authentification SASL.

kafka.ssl.truststore.location

Aucun

Un chemin d'accès au fichier

Le chemin d’accès au fichier du magasin de confiance SSL.

kafka.ssl.truststore.password

Aucun

N’importe quelle chaîne

Le mot de passe du fichier de magasin de confiance SSL.

kafka.ssl.keystore.location

Aucun

Un chemin d'accès au fichier

Le chemin d'accès au fichier de stockage de clés SSL.

kafka.ssl.keystore.password

Aucun

N’importe quelle chaîne

Le mot de passe du fichier de magasin de clés SSL.

Pour obtenir des instructions complètes sur la configuration de l'authentification, consultez Authentification.

Kinesis

Utilisez ces options avec spark.readStream.format("kinesis") pour lire à partir des Amazon Kinesis Data Stream. Vous devez spécifier soit streamName, soit streamARN, mais pas les deux.

Clé

Par défaut

Valeurs valides

Description

streamName

Aucun

Une liste de noms de Stream séparés par des virgules

Une liste de noms de Stream Kinesis séparée par des virgules pour s’abonner.

streamARN

Aucun

Une liste d'ARNs de Kinesis Stream séparés par des virgules

Une liste d'ARNs de Stream Kinesis, séparés par des virgules. Par exemple, arn:aws:kinesis:myarn1,arn:aws:kinesis:myarn2. Disponible dans Databricks Runtime 16.1 et versions ultérieures.

Clé

Par défaut

Valeurs valides

Description

streamName

Aucun

Une liste de noms de Stream séparés par des virgules

Une liste de noms de Stream Kinesis séparée par des virgules pour s’abonner.

streamARN

Aucun

Une liste d'ARNs de Kinesis Stream séparés par des virgules

Une liste d'ARNs de Stream Kinesis, séparés par des virgules. Par exemple, arn:aws:kinesis:myarn1,arn:aws:kinesis:myarn2. Disponible dans Databricks Runtime 16.1 et versions ultérieures.

Les options suivantes sont également disponibles :

Clé

Par défaut

Valeurs valides

Description

awsAccessKey

Aucun

N’importe quelle chaîne

L'ID de la clé d'accès AWS. Doit être spécifié avec awsSecretKey.

awsSecretKey

Aucun

N’importe quelle chaîne

La clé d'accès secrète AWS correspondant à awsAccessKey.

coalesceBinSize

128000000

Nombres entiers positifs.

La taille de bloc cible approximative en octets après fusion.

coalesceThresholdBlockSize

10000000

Nombres entiers positifs.

The threshold at which se produit l'agrégation automatique. Si la taille de bloc moyenne est inférieure à cette valeur, les blocs pré-récupérés sont fusionnés en coalesceBinSize.

consumerMode

polling

polling, efo

Le type de consommateur. efo fournit une diffusion améliorée avec un throughput dédié de 2 Mo/s par shard. Disponible dans Databricks Runtime 11.3 LTS et versions ultérieures.

consumerName

ID de query en streaming

Un seul nom de consommateur ou une liste séparée par des virgules correspondant au nombre de Stream

Le nom du consommateur utilisé pour enregistrer la query auprès du service Kinesis en mode EFO. Disponible dans Databricks Runtime 11,3 LTS et versions ultérieures.

consumerNamePrefix

databricks_

N’importe quelle chaîne

Le préfixe ajouté à consumerName lors de l’enregistrement des consommateurs en mode EFO. Elle est disponible dans Databricks Runtime 16.0 et versions ultérieures.

consumerRefreshInterval

300s (max 3600s)

Une chaîne de durée telle que 1s

L'intervalle auquel l'enregistrement du consommateur EFO est vérifié et actualisé. Disponible dans Databricks Runtime 11,3 LTS et versions ultérieures.

endpoint

Région résolue localement

N’importe quelle chaîne

L'Endpoint régional pour les Kinesis Data Streams.

fetchBufferSize

20gb

Une chaîne d'octets telle que 2gb ou 10mb

La quantité de données à mettre en mémoire tampon pour le prochain Trigger. Il s'agit d'une condition d'arrêt, et non d'une limite supérieure stricte. Plus de données que celles spécifiées pourraient être mises en mémoire tampon.

initialPosition

latest

latest, trim_horizon, earliest, at_timestamp

Où start la lecture dans le Stream. trim_horizon est un alias pour earliest.

Pour at_timestamp, spécifiez une chaîne JSON en utilisant le format de timestamp Java, tel que {"at_timestamp": "06/25/2020 10:23:45 PDT"}. Vous pouvez également spécifier un format personnalisé : {"at_timestamp": "06/25/2020 10:23:45 PDT", "format": "MM/dd/yyyy HH:mm:ss ZZZ"}.

maxFetchDuration

10s

Une chaîne de durée telle que 1m

La durée de mise en mémoire tampon des données préchargées avant de les rendre disponibles pour le traitement.

maxFetchRate

1.0 (max 2.0)

Décimales positives

Le débit maximal de prélecture des données par partition en Mo/s. Ce débit limite les récupérations pour éviter la limitation Kinesis. Kinesis autorise un maximum de 2.0 Mo/s.

maxRecordsPerFetch

10000

Nombres entiers positifs.

Le nombre d'enregistrements à lire par requête d'API Kinesis. Le nombre d'enregistrements renvoyés peut être plus élevé si des sous-enregistrements ont été agrégés à l'aide de la Kinesis Producer Library.

maxShardsPerDescribe

100

Entiers positifs jusqu’à 10000

Le nombre maximal de partitions à lire par appel d'API lors du listage des partitions.

minFetchPeriod

400ms (min 200ms)

Une chaîne de durée telle que 1s

La durée minimale d'attente entre les tentatives de pré-extraction consécutives. Cela limite la fréquence de récupération afin d'éviter le bridage de Kinesis. 200ms est le minimum car Kinesis autorise un maximum de 5 récupérations/sec.

region

Région résolue localement

N’importe quelle chaîne

La région dans laquelle les Stream sont définis.

registeredConsumerId

Aucun

Liste séparée par des virgules des noms de consommateurs ou d'ARNs

Une liste d'identifiants séparés par des virgules pour les consommateurs EFO existants. Disponible dans Databricks Runtime 16.1 et versions ultérieures.

registeredConsumerIdType

Aucun

name, ARN

Si les identifiants dans registeredConsumerId sont des noms de consommateurs ou des ARNs. Disponible dans Databricks Runtime 16.1 et versions ultérieures.

requireConsumerDeregistration

false

true, false

Faut-il désenregistrer le consommateur fan-out amélioré à la fin de la query. Nécessite consumerMode défini sur efo. Disponible dans Databricks Runtime 11.3 LTS et versions ultérieures.

roleArn

Aucun

Une chaîne d'ARN

L'ARN d'un rôle IAM à assumer lors de l'accès à Kinesis.

roleExternalId

Aucun

N’importe quelle chaîne

Un ID externe facultatif à utiliser lors de l'endossement du rôle spécifié par roleArn. Consultez Comment utiliser un ID externe.

roleSessionName

Aucun

N’importe quelle chaîne

Un identifiant pour la session de rôle assumé. Identifie de manière unique une session lorsque le même rôle est assumé par différents principaux.

serviceCredential

Aucun

N’importe quelle chaîne

Le nom de vos informations d'identification de service Databricks pour l'authentification à Kinesis. Disponible dans Databricks Runtime 16.1 et versions ultérieures.

stsEndpoint

Aucun

Une chaîne d'URL

Un Endpoint personnalisé pour AWS STS lors de l'attribution d'un rôle en utilisant roleArn.

shardFetchInterval

1s

Une chaîne de durée telle que 2m

L'intervalle auquel interroger Kinesis pour les événements de resharding.

shardsPerTask

5

Nombres entiers positifs.

Le nombre de partitions Kinesis à préextraire en parallèle par tâche Spark. Pour une latence minimale, assurez-vous que # cores in cluster >= # Kinesis shards / shardsPerTask.

Clé

Par défaut

Valeurs valides

Description

awsAccessKey

Aucun

N’importe quelle chaîne

L'ID de la clé d'accès AWS. Doit être spécifié avec awsSecretKey.

awsSecretKey

Aucun

N’importe quelle chaîne

La clé d'accès secrète AWS correspondant à awsAccessKey.

coalesceBinSize

128000000

Nombres entiers positifs.

La taille de bloc cible approximative en octets après fusion.

coalesceThresholdBlockSize

10000000

Nombres entiers positifs.

The threshold at which se produit l'agrégation automatique. Si la taille de bloc moyenne est inférieure à cette valeur, les blocs pré-récupérés sont fusionnés en coalesceBinSize.

consumerMode

polling

polling, efo

Le type de consommateur. efo fournit une diffusion améliorée avec un throughput dédié de 2 Mo/s par shard. Disponible dans Databricks Runtime 11.3 LTS et versions ultérieures.

consumerName

ID de query en streaming

Un seul nom de consommateur ou une liste séparée par des virgules correspondant au nombre de Stream

Le nom du consommateur utilisé pour enregistrer la query auprès du service Kinesis en mode EFO. Disponible dans Databricks Runtime 11,3 LTS et versions ultérieures.

consumerNamePrefix

databricks_

N’importe quelle chaîne

Le préfixe ajouté à consumerName lors de l’enregistrement des consommateurs en mode EFO. Elle est disponible dans Databricks Runtime 16.0 et versions ultérieures.

consumerRefreshInterval

300s (max 3600s)

Une chaîne de durée telle que 1s

L'intervalle auquel l'enregistrement du consommateur EFO est vérifié et actualisé. Disponible dans Databricks Runtime 11,3 LTS et versions ultérieures.

endpoint

Région résolue localement

N’importe quelle chaîne

L'Endpoint régional pour les Kinesis Data Streams.

fetchBufferSize

20gb

Une chaîne d'octets telle que 2gb ou 10mb

La quantité de données à mettre en mémoire tampon pour le prochain Trigger. Il s'agit d'une condition d'arrêt, et non d'une limite supérieure stricte. Plus de données que celles spécifiées pourraient être mises en mémoire tampon.

initialPosition

latest

latest, trim_horizon, earliest, at_timestamp

Où start la lecture dans le Stream. trim_horizon est un alias pour earliest.

Pour at_timestamp, spécifiez une chaîne JSON en utilisant le format de timestamp Java, tel que {"at_timestamp": "06/25/2020 10:23:45 PDT"}. Vous pouvez également spécifier un format personnalisé : {"at_timestamp": "06/25/2020 10:23:45 PDT", "format": "MM/dd/yyyy HH:mm:ss ZZZ"}.

maxFetchDuration

10s

Une chaîne de durée telle que 1m

La durée de mise en mémoire tampon des données préchargées avant de les rendre disponibles pour le traitement.

maxFetchRate

1.0 (max 2.0)

Décimales positives

Le débit maximal de prélecture des données par partition en Mo/s. Ce débit limite les récupérations pour éviter la limitation Kinesis. Kinesis autorise un maximum de 2.0 Mo/s.

maxRecordsPerFetch

10000

Nombres entiers positifs.

Le nombre d'enregistrements à lire par requête d'API Kinesis. Le nombre d'enregistrements renvoyés peut être plus élevé si des sous-enregistrements ont été agrégés à l'aide de la Kinesis Producer Library.

maxShardsPerDescribe

100

Entiers positifs jusqu’à 10000

Le nombre maximal de partitions à lire par appel d'API lors du listage des partitions.

minFetchPeriod

400ms (min 200ms)

Une chaîne de durée telle que 1s

La durée minimale d'attente entre les tentatives de pré-extraction consécutives. Cela limite la fréquence de récupération afin d'éviter le bridage de Kinesis. 200ms est le minimum car Kinesis autorise un maximum de 5 récupérations/sec.

region

Région résolue localement

N’importe quelle chaîne

La région dans laquelle les Stream sont définis.

registeredConsumerId

Aucun

Liste séparée par des virgules des noms de consommateurs ou d'ARNs

Une liste d'identifiants séparés par des virgules pour les consommateurs EFO existants. Disponible dans Databricks Runtime 16.1 et versions ultérieures.

registeredConsumerIdType

Aucun

name, ARN

Si les identifiants dans registeredConsumerId sont des noms de consommateurs ou des ARNs. Disponible dans Databricks Runtime 16.1 et versions ultérieures.

requireConsumerDeregistration

false

true, false

Faut-il désenregistrer le consommateur fan-out amélioré à la fin de la query. Nécessite consumerMode défini sur efo. Disponible dans Databricks Runtime 11.3 LTS et versions ultérieures.

roleArn

Aucun

Une chaîne d'ARN

L'ARN d'un rôle IAM à assumer lors de l'accès à Kinesis.

roleExternalId

Aucun

N’importe quelle chaîne

Un ID externe facultatif à utiliser lors de l'endossement du rôle spécifié par roleArn. Consultez Comment utiliser un ID externe.

roleSessionName

Aucun

N’importe quelle chaîne

Un identifiant pour la session de rôle assumé. Identifie de manière unique une session lorsque le même rôle est assumé par différents principaux.

serviceCredential

Aucun

N’importe quelle chaîne

Le nom de vos informations d'identification de service Databricks pour l'authentification à Kinesis. Disponible dans Databricks Runtime 16.1 et versions ultérieures.

stsEndpoint

Aucun

Une chaîne d'URL

Un Endpoint personnalisé pour AWS STS lors de l'attribution d'un rôle en utilisant roleArn.

shardFetchInterval

1s

Une chaîne de durée telle que 2m

L'intervalle auquel interroger Kinesis pour les événements de resharding.

shardsPerTask

5

Nombres entiers positifs.

Le nombre de partitions Kinesis à préextraire en parallèle par tâche Spark. Pour une latence minimale, assurez-vous que # cores in cluster >= # Kinesis shards / shardsPerTask.

Pour plus d'information sur la lecture depuis Kinesis, consultez Connectez-vous à Amazon Kinesis.

Pub/Sub

Utilisez ces options avec spark.readStream.format("pubsub") pour vous abonner à Google Pub/Sub. Les options subscriptionId, topicId, et projectId sont requises.

Clé

Par défaut

Valeurs valides

Description

subscriptionId

Aucun

N’importe quelle chaîne

Obligatoire. L'ID d'abonnement Pub/Sub. Le connecteur crée l'abonnement s'il n'existe pas.

topicId

Aucun

N’importe quelle chaîne

Obligatoire. L'ID de sujet Pub/Sub.

projectId

Aucun

N’importe quelle chaîne

Obligatoire. L'ID du projet Google Cloud.

numFetchPartitions

La moitié du nombre d'exécuteurs disponibles à l'initialisation du Stream

Nombres entiers positifs.

Le nombre de tâches Spark parallèles qui récupèrent les lignes de l'abonnement.

maxBytesPerTrigger

Aucun

Nombres entiers positifs.

Une limite souple sur le nombre d’octets à traiter par micro-batch.

maxRecordsPerFetch

1000

Nombres entiers positifs.

Le nombre de lignes à récupérer par tâche avant le traitement.

maxFetchPeriod

10s

Une chaîne de durée telle que 1s ou 1m

La durée pour chaque tâche à récupérer avant de traiter les lignes. Databricks recommande d'utiliser la valeur default.

deleteSubscriptionOnStreamStop

false

true, false

Lorsque true, l'abonnement, depuis subscriptionId, est supprimé lorsque la requête de streaming se termine.

serviceCredential

Aucun

N’importe quelle chaîne

Le nom d'un identifiant de service Databricks pour l'authentification auprès de Pub/Sub. Disponible dans Databricks Runtime 16.1 et versions ultérieures.

clientEmail

Aucun

Chaîne d'adresse e-mail

L'adresse e-mail du compte de service Google. Requis lorsque vous n'utilisez pas d'identifiant de service.

clientId

Aucun

N’importe quelle chaîne

L'ID client du compte de service Google. Requis lorsque vous n'utilisez pas d'identifiant de service.

privateKey

Aucun

Une chaîne de clé privée

La clé privée pour le Compte de service Google. Requis lorsque vous n'utilisez pas d'identifiant de service.

privateKeyId

Aucun

N’importe quelle chaîne

L'ID de la clé privée du Compte de service Google. Requis lorsque vous n'utilisez pas d'identifiant de service.

Clé

Par défaut

Valeurs valides

Description

subscriptionId

Aucun

N’importe quelle chaîne

Obligatoire. L'ID d'abonnement Pub/Sub. Le connecteur crée l'abonnement s'il n'existe pas.

topicId

Aucun

N’importe quelle chaîne

Obligatoire. L'ID de sujet Pub/Sub.

projectId

Aucun

N’importe quelle chaîne

Obligatoire. L'ID du projet Google Cloud.

numFetchPartitions

La moitié du nombre d'exécuteurs disponibles à l'initialisation du Stream

Nombres entiers positifs.

Le nombre de tâches Spark parallèles qui récupèrent les lignes de l'abonnement.

maxBytesPerTrigger

Aucun

Nombres entiers positifs.

Une limite souple sur le nombre d’octets à traiter par micro-batch.

maxRecordsPerFetch

1000

Nombres entiers positifs.

Le nombre de lignes à récupérer par tâche avant le traitement.

maxFetchPeriod

10s

Une chaîne de durée telle que 1s ou 1m

La durée pour chaque tâche à récupérer avant de traiter les lignes. Databricks recommande d'utiliser la valeur default.

deleteSubscriptionOnStreamStop

false

true, false

Lorsque true, l'abonnement, depuis subscriptionId, est supprimé lorsque la requête de streaming se termine.

serviceCredential

Aucun

N’importe quelle chaîne

Le nom d'un identifiant de service Databricks pour l'authentification auprès de Pub/Sub. Disponible dans Databricks Runtime 16.1 et versions ultérieures.

clientEmail

Aucun

Chaîne d'adresse e-mail

L'adresse e-mail du compte de service Google. Requis lorsque vous n'utilisez pas d'identifiant de service.

clientId

Aucun

N’importe quelle chaîne

L'ID client du compte de service Google. Requis lorsque vous n'utilisez pas d'identifiant de service.

privateKey

Aucun

Une chaîne de clé privée

La clé privée pour le Compte de service Google. Requis lorsque vous n'utilisez pas d'identifiant de service.

privateKeyId

Aucun

N’importe quelle chaîne

L'ID de la clé privée du Compte de service Google. Requis lorsque vous n'utilisez pas d'identifiant de service.

Pour plus d'informations sur Pub/Sub, consultez S'abonner à Google Pub/Sub.

Pulsar

Utilisez ces options avec spark.readStream.format("pulsar") pour Stream à partir d'Apache Pulsar. Disponible dans Databricks Runtime 14.1 et versions ultérieures.

Les options suivantes sont requises. Vous devez spécifier exactement l'un des éléments suivants : topic, topics ou topicsPattern.

Clé

Par défaut

Valeurs valides

Description

service.url

Aucun

Une chaîne d'URL de service Pulsar

Le serviceURL Pulsar pour le service Pulsar, par exemple pulsar://broker.example.com:6650.

topic

Aucun

N’importe quelle chaîne

Un nom de sujet unique à consommer.

topics

Aucun

Une liste de noms de sujets séparés par des virgules.

Une liste de noms de rubriques séparée par des virgules à consommer.

topicsPattern

Aucun

Une chaîne regex Java

Chaîne de regex Java pour correspondre aux noms de sujet.

Clé

Par défaut

Valeurs valides

Description

service.url

Aucun

Une chaîne d'URL de service Pulsar

Le serviceURL Pulsar pour le service Pulsar, par exemple pulsar://broker.example.com:6650.

topic

Aucun

N’importe quelle chaîne

Un nom de sujet unique à consommer.

topics

Aucun

Une liste de noms de sujets séparés par des virgules.

Une liste de noms de rubriques séparée par des virgules à consommer.

topicsPattern

Aucun

Une chaîne regex Java

Chaîne de regex Java pour correspondre aux noms de sujet.

Les options suivantes sont également prises en charge :

Clé

Par défaut

Valeurs valides

Description

admin.url

Aucun

Une chaîne d'URL

L'URL HTTP du service d'administration Pulsar. Obligatoire lorsque maxBytesPerTrigger est défini.

allowDifferentTopicSchemas

false

true, false

Si plusieurs rubriques avec des schémas différents sont lues, utilisez cette option pour désactiver la désérialisation automatique des valeurs de rubrique basée sur le schéma. Seules les valeurs brutes sont renvoyées lorsque cela est true.

failOnDataLoss

true

true, false

Faut-il faire échouer la query lorsque des données sont perdues. Par exemple, une perte de données pourrait se produire lorsque des sujets sont supprimés ou que des messages expirent en raison de la politique de conservation.

maxBytesPerTrigger

Aucun

Nombres entiers positifs.

Une limite souple sur le nombre d'octets à traiter par micro-batch. Requiert admin.url.

pollTimeoutMs

120000

Nombres entiers positifs.

Le délai d'attente pour la lecture des messages de Pulsar en millisecondes.

predefinedSubscription

Aucun

N’importe quelle chaîne

Le nom d'abonnement prédéfini utilisé par le connecteur pour suivre la progression des Spark applications.

startingOffsets

latest

latest, earliest, ou une chaîne de décalage JSON

À partir d'où start la lecture.

subscriptionPrefix

Aucun

N’importe quelle chaîne

Le préfixe utilisé par le connecteur pour générer un abonnement aléatoire afin de suivre la progression des Spark applications.

waitingForNonExistedTopic

false

true, false

Indique si le connecteur attend que les sujets souhaités soient créés.

Clé

Par défaut

Valeurs valides

Description

admin.url

Aucun

Une chaîne d'URL

L'URL HTTP du service d'administration Pulsar. Obligatoire lorsque maxBytesPerTrigger est défini.

allowDifferentTopicSchemas

false

true, false

Si plusieurs rubriques avec des schémas différents sont lues, utilisez cette option pour désactiver la désérialisation automatique des valeurs de rubrique basée sur le schéma. Seules les valeurs brutes sont renvoyées lorsque cela est true.

failOnDataLoss

true

true, false

Faut-il faire échouer la query lorsque des données sont perdues. Par exemple, une perte de données pourrait se produire lorsque des sujets sont supprimés ou que des messages expirent en raison de la politique de conservation.

maxBytesPerTrigger

Aucun

Nombres entiers positifs.

Une limite souple sur le nombre d'octets à traiter par micro-batch. Requiert admin.url.

pollTimeoutMs

120000

Nombres entiers positifs.

Le délai d'attente pour la lecture des messages de Pulsar en millisecondes.

predefinedSubscription

Aucun

N’importe quelle chaîne

Le nom d'abonnement prédéfini utilisé par le connecteur pour suivre la progression des Spark applications.

startingOffsets

latest

latest, earliest, ou une chaîne de décalage JSON

À partir d'où start la lecture.

subscriptionPrefix

Aucun

N’importe quelle chaîne

Le préfixe utilisé par le connecteur pour générer un abonnement aléatoire afin de suivre la progression des Spark applications.

waitingForNonExistedTopic

false

true, false

Indique si le connecteur attend que les sujets souhaités soient créés.

Vous pouvez spécifier des configurations supplémentaires pour les clients, administrateurs et lecteurs Pulsar à l'aide des modèles d'options suivants :

Modèle

Options de configuration

pulsar.admin.*

Configuration administrateur Pulsar

pulsar.client.*

Configuration du client Pulsar, y compris les options d'authentification telles que pulsar.client.authPluginClassName et pulsar.client.authParams.

pulsar.reader.*

Configuration du lecteur Pulsar

Modèle

Options de configuration

pulsar.admin.*

Configuration administrateur Pulsar

pulsar.client.*

Configuration du client Pulsar, y compris les options d'authentification telles que pulsar.client.authPluginClassName et pulsar.client.authParams.

pulsar.reader.*

Configuration du lecteur Pulsar

Pour plus d'informations sur les options d'authentification client et administrateur Pulsar, consultez Authentification.

Authentification

Databricks prend en charge l'authentification truststore et keystore pour Pulsar. Databricks recommande d'utiliser des secrets pour stocker les détails d'authentification. Voir Gestion des secrets.

Clé

Par défaut

Valeurs valides

Description

pulsar.client.authPluginClassName

Aucun

Un nom de classe entièrement qualifié

Le nom de classe entièrement qualifié du plugin d'authentification. Par exemple, org.apache.pulsar.client.impl.auth.AuthenticationTls.

pulsar.client.authParams

Aucun

Une chaîne d'identifiants

Informations d'identification d'authentification transmises au plugin d'authentification sous forme de chaîne. Par exemple, tlsCertFile:/path/to/my-role.cert.pem,tlsKeyFile:/path/to/my-role.key-pk8.pem.

pulsar.client.useKeyStoreTls

false

true, false

Lorsque true, active la configuration TLS basée sur KeyStore au lieu des fichiers au format PEM.

pulsar.client.tlsTrustStoreType

Aucun

N’importe quelle chaîne

Le format du fichier de magasin de confiance TLS. Par exemple, JKS.

pulsar.client.tlsTrustStorePath

Aucun

Un chemin d'accès au fichier

Le chemin d'accès au fichier de stockage de confiance TLS contenant les certificats d'autorité de certification (CA) de confiance. Obligatoire lorsque pulsar.client.useKeyStoreTls est true.

pulsar.client.tlsTrustStorePassword

Aucun

N’importe quelle chaîne

Le mot de passe du fichier du magasin de confiance TLS.

Clé

Par défaut

Valeurs valides

Description

pulsar.client.authPluginClassName

Aucun

Un nom de classe entièrement qualifié

Le nom de classe entièrement qualifié du plugin d'authentification. Par exemple, org.apache.pulsar.client.impl.auth.AuthenticationTls.

pulsar.client.authParams

Aucun

Une chaîne d'identifiants

Informations d'identification d'authentification transmises au plugin d'authentification sous forme de chaîne. Par exemple, tlsCertFile:/path/to/my-role.cert.pem,tlsKeyFile:/path/to/my-role.key-pk8.pem.

pulsar.client.useKeyStoreTls

false

true, false

Lorsque true, active la configuration TLS basée sur KeyStore au lieu des fichiers au format PEM.

pulsar.client.tlsTrustStoreType

Aucun

N’importe quelle chaîne

Le format du fichier de magasin de confiance TLS. Par exemple, JKS.

pulsar.client.tlsTrustStorePath

Aucun

Un chemin d'accès au fichier

Le chemin d'accès au fichier de stockage de confiance TLS contenant les certificats d'autorité de certification (CA) de confiance. Obligatoire lorsque pulsar.client.useKeyStoreTls est true.

pulsar.client.tlsTrustStorePassword

Aucun

N’importe quelle chaîne

Le mot de passe du fichier du magasin de confiance TLS.

Si le Stream utilise un PulsarAdmin, vous pouvez également définir les options suivantes :

Clé

Par défaut

Valeurs valides

Description

pulsar.admin.authPluginClassName

Aucun

Un nom de classe entièrement qualifié

Le nom de classe entièrement qualifié du plugin d'authentification pour le client administrateur Pulsar.

pulsar.admin.authParams

Aucun

Une chaîne d'identifiants

Identifiants d'authentification pour le plug-in d'authentification client d'administration Pulsar.

pulsar.admin.useTls

Aucun

true, false

Faut-il utiliser TLS pour la connexion du client administrateur Pulsar.

pulsar.admin.tlsAllowInsecureConnection

Aucun

true, false

Autoriser ou non les connexions TLS non sécurisées pour le client administrateur Pulsar.

pulsar.admin.tlsTrustCertsFilePath

Aucun

Un chemin d'accès au fichier

Chemin d'accès au fichier de certificat TLS approuvé pour le client administrateur Pulsar.

pulsar.admin.useKeyStoreTls

Aucun

true, false

Utiliser le TLS basé sur KeyStore pour le client administrateur Pulsar.

pulsar.admin.tlsTrustStoreType

Aucun

N’importe quelle chaîne

Le format du magasin de confiance TLS pour le client d’administration Pulsar. Par exemple, JKS.

pulsar.admin.tlsTrustStorePath

Aucun

Un chemin d'accès au fichier

Chemin d'accès au fichier de magasin de confiance TLS pour le client administrateur Pulsar. Obligatoire lorsque pulsar.admin.useKeyStoreTls est true.

pulsar.admin.tlsTrustStorePassword

Aucun

N’importe quelle chaîne

Mot de passe du magasin de վստահance TLS du client d'administration Pulsar.

Clé

Par défaut

Valeurs valides

Description

pulsar.admin.authPluginClassName

Aucun

Un nom de classe entièrement qualifié

Le nom de classe entièrement qualifié du plugin d'authentification pour le client administrateur Pulsar.

pulsar.admin.authParams

Aucun

Une chaîne d'identifiants

Identifiants d'authentification pour le plug-in d'authentification client d'administration Pulsar.

pulsar.admin.useTls

Aucun

true, false

Faut-il utiliser TLS pour la connexion du client administrateur Pulsar.

pulsar.admin.tlsAllowInsecureConnection

Aucun

true, false

Autoriser ou non les connexions TLS non sécurisées pour le client administrateur Pulsar.

pulsar.admin.tlsTrustCertsFilePath

Aucun

Un chemin d'accès au fichier

Chemin d'accès au fichier de certificat TLS approuvé pour le client administrateur Pulsar.

pulsar.admin.useKeyStoreTls

Aucun

true, false

Utiliser le TLS basé sur KeyStore pour le client administrateur Pulsar.

pulsar.admin.tlsTrustStoreType

Aucun

N’importe quelle chaîne

Le format du magasin de confiance TLS pour le client d’administration Pulsar. Par exemple, JKS.

pulsar.admin.tlsTrustStorePath

Aucun

Un chemin d'accès au fichier

Chemin d'accès au fichier de magasin de confiance TLS pour le client administrateur Pulsar. Obligatoire lorsque pulsar.admin.useKeyStoreTls est true.

pulsar.admin.tlsTrustStorePassword

Aucun

N’importe quelle chaîne

Mot de passe du magasin de վստահance TLS du client d'administration Pulsar.

Pour des exemples d'authentification, consultez S'authentifier auprès de Pulsar.

Options de DataFrameWriter

Utilisez ces options avec DataFrameWriter.option() et DataFrameWriterV2.option() pour contrôler la manière dont Databricks écrit les données.

Exemple

L'exemple suivant définit mergeSchema sur True pour l'écriture d'une table Delta Lake :

Python
df.write.format("delta").option("mergeSchema", True).saveAsTable("my_table")

Avro

Les options suivantes s’appliquent lors de l’écriture de fichiers Avro.

Clé

Par défaut

Valeurs valides

Description

avroSchema

Aucun

Chaîne de schéma JSON

Le schéma Avro complet en tant que chaîne JSON. Utilisez cette option pour convertir les types Spark SQL en types Avro spécifiques. S'applique à la lecture et écriture de fichiers Avro.

avroSchemaUrl

Aucun

Une chaîne d'URL

Une URL pointant vers un fichier de schéma Avro. Utiliser à la place de avroSchema lorsque le schéma est stocké en externe. Mutuellement exclusif avec avroSchema. S'applique à Lire et écrire des fichiers Avro.

compression

snappy

uncompressed, deflate, snappy (default), bzip2, xz, zstandard

Codec de compression à utiliser lors de l'écriture. S'applique à la lecture et écriture de fichiers Avro.

recordName

topLevelRecord

N’importe quelle chaîne

Le nom d'enregistrement de niveau supérieur dans le schéma Avro de sortie. S'applique à la lecture et écriture de fichiers Avro.

positionalFieldMatching

false

true, false

S'il faut faire correspondre les colonnes entre le schéma Spark et le schéma Avro par position de champ plutôt que par nom. S'applique à la lecture et écriture de fichiers Avro.

recordNamespace

Chaîne vide

N’importe quelle chaîne

L'espace de noms pour l'enregistrement de niveau supérieur dans le schéma Avro de sortie. S'applique à la lecture et écriture de fichiers Avro.

Clé

Par défaut

Valeurs valides

Description

avroSchema

Aucun

Chaîne de schéma JSON

Le schéma Avro complet en tant que chaîne JSON. Utilisez cette option pour convertir les types Spark SQL en types Avro spécifiques. S'applique à la lecture et écriture de fichiers Avro.

avroSchemaUrl

Aucun

Une chaîne d'URL

Une URL pointant vers un fichier de schéma Avro. Utiliser à la place de avroSchema lorsque le schéma est stocké en externe. Mutuellement exclusif avec avroSchema. S'applique à Lire et écrire des fichiers Avro.

compression

snappy

uncompressed, deflate, snappy (default), bzip2, xz, zstandard

Codec de compression à utiliser lors de l'écriture. S'applique à la lecture et écriture de fichiers Avro.

recordName

topLevelRecord

N’importe quelle chaîne

Le nom d'enregistrement de niveau supérieur dans le schéma Avro de sortie. S'applique à la lecture et écriture de fichiers Avro.

positionalFieldMatching

false

true, false

S'il faut faire correspondre les colonnes entre le schéma Spark et le schéma Avro par position de champ plutôt que par nom. S'applique à la lecture et écriture de fichiers Avro.

recordNamespace

Chaîne vide

N’importe quelle chaîne

L'espace de noms pour l'enregistrement de niveau supérieur dans le schéma Avro de sortie. S'applique à la lecture et écriture de fichiers Avro.

Delta Lake et Apache Iceberg

Les options suivantes s'appliquent lors de l'écriture de tables Delta Lake et Apache Iceberg.

Clé

Par défaut

Valeurs valides

Description

clusterByAuto

false

true, false

Faut-il activer le clustering liquide automatique, où Databricks sélectionne les colonnes de clustering en fonction des modèles de query. Valide uniquement avec mode("overwrite"). Ne peut pas être utilisé avec le mode append. Disponible dans Databricks Runtime 16.4 et versions ultérieures. S'applique à Utilisation du clustering liquide pour les tables.

mergeSchema

Aucun

true, false

Faut-il activer l'évolution des schémas pour l'opération d'écriture. Les nouvelles colonnes du DataFrame source sont ajoutées au schéma de la table cible. S'applique aux ajouts par batch et en streaming. S'applique à Mettre à jour les schémas de table avec l'évolution des schémas.

overwriteSchema

Aucun

true, false

S'il faut remplacer le schéma de la table et le partitionnement lors de l'écrasement. Nécessite mode("overwrite") sans replaceWhere. Ne peut pas être utilisé avec partitionOverwriteMode. S'applique à Mettre à jour les schémas de table avec l'évolution des schémas.

partitionOverwriteMode

Aucun

static, dynamic

Le mode d'écrasement de partition. Définissez ceci sur dynamic pour écraser uniquement les partitions contenant de nouvelles données, en laissant toutes les autres partitions inchangées. Mode hérité, non pris en charge sur serverless compute ou Databricks SQL. S'applique à Écraser les données de manière sélective avec Delta Lake.

replaceOn

Aucun

Une chaîne d'expression booléenne

Une expression booléenne qui correspond aux lignes de la table cible à remplacer par les lignes de la query source. Peut référencer des colonnes à la fois de la table cible et de la query source. Les lignes de la cible qui correspondent à une ligne source sont supprimées et remplacées. Si la source est vide, aucune suppression ne se produit. Utilisez targetAlias pour lever l'ambiguïté des références de colonne. Disponible dans Databricks Runtime 17.1 et versions ultérieures. S'applique à Remplacer sélectivement des données avec Delta Lake.

replaceUsing

Aucun

Une liste de noms de colonne séparés par des virgules

Une liste de noms de colonnes séparés par des virgules, utilisée pour faire correspondre les lignes entre la table cible et la query source. La cible et la source doivent toutes deux contenir toutes les colonnes répertoriées. Les lignes de la cible qui correspondent à une ligne source par comparaison d'égalité sont supprimées et remplacées. Les valeurs NULL sont traitées comme non égales et ne correspondront pas. Disponible dans Databricks Runtime 16.3 et versions ultérieures. S'applique à écrire des données sélectivement avec Delta Lake.

replaceWhere

Aucun

Une chaîne d'expression de prédicat

Une expression de prédicat. Écrase atomiquement uniquement les enregistrements qui correspondent au prédicat. S'applique à Selectively overwrite data with Delta Lake.

targetAlias

Aucun

N’importe quelle chaîne

Un alias de chaîne pour la table cible. Utilisez avec replaceOn ou replaceWhere pour lever l'ambiguïté des références de colonnes lorsque la condition fait référence à des colonnes de la table cible et de la query source. S'applique à l'écrasement sélectif des données avec Delta Lake.

txnAppId

Aucun

N’importe quelle chaîne

Une chaîne unique identifiant l'application pour les écritures idempotentes dans les foreachBatch opérations. Utilisez-le avec txnVersion pour garantir des écritures exactement une fois vers plusieurs tables Delta Lake. S'applique à Utilisez foreachBatch pour les écritures de table idempotentes.

txnVersion

Aucun

Un entier à croissance monotone

Un nombre croissant de façon monotone utilisé comme version de transaction pour les écritures idempotentes dans les opérations foreachBatch. Utilisez-le avec txnAppId pour garantir des écritures exactement une fois vers plusieurs tables Delta Lake. S'applique à Utilisez foreachBatch pour les écritures de table idempotentes.

optimizeWrite

Aucun

true, false

Permet d'activer l'optimisation automatique d'écriture pour cette opération d'écriture. Remplace la configuration de spark.databricks.delta.optimizeWrite.enabled. S'applique à Qu'est-ce que Delta Lake dans Databricks ?.

userMetadata

Aucun

N’importe quelle chaîne

Chaîne définie par l'utilisateur ajoutée aux métadonnées de commit pour l'opération d'écriture. Visible dans la sortie de DESCRIBE HISTORY. S'applique à Enrichir les tables avec des métadonnées personnalisées.

Clé

Par défaut

Valeurs valides

Description

clusterByAuto

false

true, false

Faut-il activer le clustering liquide automatique, où Databricks sélectionne les colonnes de clustering en fonction des modèles de query. Valide uniquement avec mode("overwrite"). Ne peut pas être utilisé avec le mode append. Disponible dans Databricks Runtime 16.4 et versions ultérieures. S'applique à Utilisation du clustering liquide pour les tables.

mergeSchema

Aucun

true, false

Faut-il activer l'évolution des schémas pour l'opération d'écriture. Les nouvelles colonnes du DataFrame source sont ajoutées au schéma de la table cible. S'applique aux ajouts par batch et en streaming. S'applique à Mettre à jour les schémas de table avec l'évolution des schémas.

overwriteSchema

Aucun

true, false

S'il faut remplacer le schéma de la table et le partitionnement lors de l'écrasement. Nécessite mode("overwrite") sans replaceWhere. Ne peut pas être utilisé avec partitionOverwriteMode. S'applique à Mettre à jour les schémas de table avec l'évolution des schémas.

partitionOverwriteMode

Aucun

static, dynamic

Le mode d'écrasement de partition. Définissez ceci sur dynamic pour écraser uniquement les partitions contenant de nouvelles données, en laissant toutes les autres partitions inchangées. Mode hérité, non pris en charge sur serverless compute ou Databricks SQL. S'applique à Écraser les données de manière sélective avec Delta Lake.

replaceOn

Aucun

Une chaîne d'expression booléenne

Une expression booléenne qui correspond aux lignes de la table cible à remplacer par les lignes de la query source. Peut référencer des colonnes à la fois de la table cible et de la query source. Les lignes de la cible qui correspondent à une ligne source sont supprimées et remplacées. Si la source est vide, aucune suppression ne se produit. Utilisez targetAlias pour lever l'ambiguïté des références de colonne. Disponible dans Databricks Runtime 17.1 et versions ultérieures. S'applique à Remplacer sélectivement des données avec Delta Lake.

replaceUsing

Aucun

Une liste de noms de colonne séparés par des virgules

Une liste de noms de colonnes séparés par des virgules, utilisée pour faire correspondre les lignes entre la table cible et la query source. La cible et la source doivent toutes deux contenir toutes les colonnes répertoriées. Les lignes de la cible qui correspondent à une ligne source par comparaison d'égalité sont supprimées et remplacées. Les valeurs NULL sont traitées comme non égales et ne correspondront pas. Disponible dans Databricks Runtime 16.3 et versions ultérieures. S'applique à écrire des données sélectivement avec Delta Lake.

replaceWhere

Aucun

Une chaîne d'expression de prédicat

Une expression de prédicat. Écrase atomiquement uniquement les enregistrements qui correspondent au prédicat. S'applique à Selectively overwrite data with Delta Lake.

targetAlias

Aucun

N’importe quelle chaîne

Un alias de chaîne pour la table cible. Utilisez avec replaceOn ou replaceWhere pour lever l'ambiguïté des références de colonnes lorsque la condition fait référence à des colonnes de la table cible et de la query source. S'applique à l'écrasement sélectif des données avec Delta Lake.

txnAppId

Aucun

N’importe quelle chaîne

Une chaîne unique identifiant l'application pour les écritures idempotentes dans les foreachBatch opérations. Utilisez-le avec txnVersion pour garantir des écritures exactement une fois vers plusieurs tables Delta Lake. S'applique à Utilisez foreachBatch pour les écritures de table idempotentes.

txnVersion

Aucun

Un entier à croissance monotone

Un nombre croissant de façon monotone utilisé comme version de transaction pour les écritures idempotentes dans les opérations foreachBatch. Utilisez-le avec txnAppId pour garantir des écritures exactement une fois vers plusieurs tables Delta Lake. S'applique à Utilisez foreachBatch pour les écritures de table idempotentes.

optimizeWrite

Aucun

true, false

Permet d'activer l'optimisation automatique d'écriture pour cette opération d'écriture. Remplace la configuration de spark.databricks.delta.optimizeWrite.enabled. S'applique à Qu'est-ce que Delta Lake dans Databricks ?.

userMetadata

Aucun

N’importe quelle chaîne

Chaîne définie par l'utilisateur ajoutée aux métadonnées de commit pour l'opération d'écriture. Visible dans la sortie de DESCRIBE HISTORY. S'applique à Enrichir les tables avec des métadonnées personnalisées.

CSV

Les options suivantes s'appliquent lors de l'écriture de fichiers CSV.

Clé

Par défaut

Valeurs valides

Description

charToEscapeQuoteEscaping

\0 (non activé)

Un seul caractère

Le caractère utilisé pour échapper le caractère d'échappement lorsqu'il diffère du caractère de guillemet. S'applique à csv (DataFrameWriter).

compression

none

none (default), bzip2, gzip, lz4, snappy, deflate, zstd

Codec de compression à utiliser lors de l'écriture. S'applique à csv (DataFrameWriter).

dateFormat

yyyy-MM-dd

Une chaîne de format de date

Chaîne de format pour les valeurs de colonne de date. S’applique à csv (DataFrameWriter).

emptyValue

Chaîne vide

N’importe quelle chaîne

La chaîne écrite pour les valeurs vides (non nulles). S'applique à csv (DataFrameWriter).

encoding

UTF-8

Nom de java.nio.charset.Charset

L'encodage des caractères pour les fichiers de sortie. S'applique à csv (DataFrameWriter).

escape

\

Un seul caractère

Le caractère utilisé pour échapper les valeurs entre guillemets. S'applique à csv (DataFrameWriter).

escapeQuotes

true

true, false

S'il faut échapper les caractères de guillemet à l'intérieur des valeurs de champ entre guillemets. S'applique à csv (DataFrameWriter).

header

false

true, false

S'il convient d'écrire les noms de colonnes comme première ligne de sortie. S'applique à csv (DataFrameWriter).

ignoreLeadingWhiteSpace

false

true, false

Indique s'il faut ignorer les espaces blancs en début de ligne des valeurs lors de l'écriture. S'applique à csv (DataFrameWriter).

ignoreTrailingWhiteSpace

false

true, false

Faut-il supprimer les espaces de fin des valeurs lors de l'écriture. S'applique à csv (DataFrameWriter).

lineSep

\n

Une chaîne

La chaîne de séparation de lignes utilisée entre les enregistrements. S'applique à csv (DataFrameWriter).

locale

en-US

Un identifiant java.util.Locale

Un identifiant java.util.Locale. Un identifiant de paramètres régionaux Java qui affecte l'analyse par default de la date, du Timestamp et des décimales dans le CSV.

nullValue

Chaîne vide

N’importe quelle chaîne

Chaîne écrite pour les valeurs nulles. S'applique à csv (DataFrameWriter).

quote

"

Un seul caractère

Le caractère utilisé pour citer les valeurs de champ qui contiennent le séparateur. S'applique à csv (DataFrameWriter).

quoteAll

false

true, false

Indique s'il faut encadrer toutes les valeurs de champ entre guillemets, quel que soit le contenu. S'applique à csv (DataFrameWriter).

sep

,

Une chaîne

Le caractère délimiteur de champ. S'applique à csv (DataFrameWriter).

timestampFormat

yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]

Une chaîne de format Timestamp

La chaîne de format pour les valeurs de colonne de timestamp. S'applique à csv (DataFrameWriter).

timestampNTZFormat

yyyy-MM-dd'T'HH:mm:ss[.SSS]

Une chaîne de format Timestamp

Chaîne de format pour les valeurs de colonne de timestamp sans fuseau horaire (TimestampNTZType).

Clé

Par défaut

Valeurs valides

Description

charToEscapeQuoteEscaping

\0 (non activé)

Un seul caractère

Le caractère utilisé pour échapper le caractère d'échappement lorsqu'il diffère du caractère de guillemet. S'applique à csv (DataFrameWriter).

compression

none

none (default), bzip2, gzip, lz4, snappy, deflate, zstd

Codec de compression à utiliser lors de l'écriture. S'applique à csv (DataFrameWriter).

dateFormat

yyyy-MM-dd

Une chaîne de format de date

Chaîne de format pour les valeurs de colonne de date. S’applique à csv (DataFrameWriter).

emptyValue

Chaîne vide

N’importe quelle chaîne

La chaîne écrite pour les valeurs vides (non nulles). S'applique à csv (DataFrameWriter).

encoding

UTF-8

Nom de java.nio.charset.Charset

L'encodage des caractères pour les fichiers de sortie. S'applique à csv (DataFrameWriter).

escape

\

Un seul caractère

Le caractère utilisé pour échapper les valeurs entre guillemets. S'applique à csv (DataFrameWriter).

escapeQuotes

true

true, false

S'il faut échapper les caractères de guillemet à l'intérieur des valeurs de champ entre guillemets. S'applique à csv (DataFrameWriter).

header

false

true, false

S'il convient d'écrire les noms de colonnes comme première ligne de sortie. S'applique à csv (DataFrameWriter).

ignoreLeadingWhiteSpace

false

true, false

Indique s'il faut ignorer les espaces blancs en début de ligne des valeurs lors de l'écriture. S'applique à csv (DataFrameWriter).

ignoreTrailingWhiteSpace

false

true, false

Faut-il supprimer les espaces de fin des valeurs lors de l'écriture. S'applique à csv (DataFrameWriter).

lineSep

\n

Une chaîne

La chaîne de séparation de lignes utilisée entre les enregistrements. S'applique à csv (DataFrameWriter).

locale

en-US

Un identifiant java.util.Locale

Un identifiant java.util.Locale. Un identifiant de paramètres régionaux Java qui affecte l'analyse par default de la date, du Timestamp et des décimales dans le CSV.

nullValue

Chaîne vide

N’importe quelle chaîne

Chaîne écrite pour les valeurs nulles. S'applique à csv (DataFrameWriter).

quote

"

Un seul caractère

Le caractère utilisé pour citer les valeurs de champ qui contiennent le séparateur. S'applique à csv (DataFrameWriter).

quoteAll

false

true, false

Indique s'il faut encadrer toutes les valeurs de champ entre guillemets, quel que soit le contenu. S'applique à csv (DataFrameWriter).

sep

,

Une chaîne

Le caractère délimiteur de champ. S'applique à csv (DataFrameWriter).

timestampFormat

yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]

Une chaîne de format Timestamp

La chaîne de format pour les valeurs de colonne de timestamp. S'applique à csv (DataFrameWriter).

timestampNTZFormat

yyyy-MM-dd'T'HH:mm:ss[.SSS]

Une chaîne de format Timestamp

Chaîne de format pour les valeurs de colonne de timestamp sans fuseau horaire (TimestampNTZType).

Excel

Les options suivantes s'appliquent lors de l'écriture de fichiers Excel.

Clé

Par défaut

Valeurs valides

Description

dataAddress

Aucun

Nom de feuille ou chaîne de référence de cellule

Le nom de la feuille ou la cellule de départ pour l'écriture. Si omis, écrit dans une feuille nommée Sheet1 à partir de la cellule A1. Accepte un nom de feuille (SheetName) ou une référence de cellule unique (SheetName!A1). Les plages de cellules ne sont pas prises en charge pour les écritures.

dateFormatInWrite

yyyy-mm-dd

Une chaîne de format de date Excel

Chaîne de format de cellule Excel appliquée à Date colonnes. Utilise la syntaxe de format Excel.

headerRows

0

0, 1

Détermine s'il faut écrire les noms de colonne comme première ligne.

timestampNTZFormat

yyyy-mm-dd hh:mm:ss

Une chaîne de format de Timestamp Excel

Chaîne de format de cellule Excel appliquée aux colonnes TimestampNTZ et Timestamp. Utilise la syntaxe de format Excel.

version

xlsx

xlsx, xls

La version du format de fichier Excel à écrire.

Clé

Par défaut

Valeurs valides

Description

dataAddress

Aucun

Nom de feuille ou chaîne de référence de cellule

Le nom de la feuille ou la cellule de départ pour l'écriture. Si omis, écrit dans une feuille nommée Sheet1 à partir de la cellule A1. Accepte un nom de feuille (SheetName) ou une référence de cellule unique (SheetName!A1). Les plages de cellules ne sont pas prises en charge pour les écritures.

dateFormatInWrite

yyyy-mm-dd

Une chaîne de format de date Excel

Chaîne de format de cellule Excel appliquée à Date colonnes. Utilise la syntaxe de format Excel.

headerRows

0

0, 1

Détermine s'il faut écrire les noms de colonne comme première ligne.

timestampNTZFormat

yyyy-mm-dd hh:mm:ss

Une chaîne de format de Timestamp Excel

Chaîne de format de cellule Excel appliquée aux colonnes TimestampNTZ et Timestamp. Utilise la syntaxe de format Excel.

version

xlsx

xlsx, xls

La version du format de fichier Excel à écrire.

JSON

Les options suivantes s'appliquent lors de l'écriture de fichiers JSON.

Clé

Par défaut

Valeurs valides

Description

compression

none

none, bzip2, gzip, lz4, snappy, deflate, zstd

Codec de compression à utiliser lors de l'écriture. S'applique à json (DataFrameWriter).

dateFormat

yyyy-MM-dd

Une chaîne de format de date

Chaîne de format pour les valeurs de colonne de date. S'applique à json (DataFrameWriter).

encoding

UTF-8

Nom de java.nio.charset.Charset

L'encodage des caractères pour les fichiers de sortie. S'applique à json (DataFrameWriter).

ignoreNullFields

valeur de spark.sql.jsonGenerator.ignoreNullFields

true, false

S’il faut omettre les champs avec des valeurs nulles de la sortie JSON. S'applique à json (DataFrameWriter).

lineSep

\n

Une chaîne

La chaîne de séparation de lignes utilisée entre les enregistrements. S'applique à json (DataFrameWriter).

locale

en-US

Un identifiant java.util.Locale

Un identifiant de paramètres régionaux Java qui affecte l'analyse default des dates, timestamp et décimales dans le JSON.

pretty

false

true, false

Activer ou non la sortie JSON formatée (indentée, multiligne).

sortKeys

false

true, false

Faut-il trier les clés des objets JSON par ordre alphabétique dans la sortie. Utile pour produire une sortie déterministe.

timestampFormat

yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]

Une chaîne de format Timestamp

La chaîne de format pour les valeurs de colonne de timestamp. S'applique à json (DataFrameWriter).

timestampNTZFormat

yyyy-MM-dd'T'HH:mm:ss[.SSS]

Une chaîne de format Timestamp

Chaîne de format pour les valeurs de colonne de timestamp sans fuseau horaire (TimestampNTZType).

writeNonAsciiCharacterAsCodePoint

false

true, false

Faut-il encoder les caractères non-ASCII sous forme de séquences d’échappement Unicode \uXXXX plutôt que de caractères UTF-8 littéraux dans la sortie ?

Clé

Par défaut

Valeurs valides

Description

compression

none

none, bzip2, gzip, lz4, snappy, deflate, zstd

Codec de compression à utiliser lors de l'écriture. S'applique à json (DataFrameWriter).

dateFormat

yyyy-MM-dd

Une chaîne de format de date

Chaîne de format pour les valeurs de colonne de date. S'applique à json (DataFrameWriter).

encoding

UTF-8

Nom de java.nio.charset.Charset

L'encodage des caractères pour les fichiers de sortie. S'applique à json (DataFrameWriter).

ignoreNullFields

valeur de spark.sql.jsonGenerator.ignoreNullFields

true, false

S’il faut omettre les champs avec des valeurs nulles de la sortie JSON. S'applique à json (DataFrameWriter).

lineSep

\n

Une chaîne

La chaîne de séparation de lignes utilisée entre les enregistrements. S'applique à json (DataFrameWriter).

locale

en-US

Un identifiant java.util.Locale

Un identifiant de paramètres régionaux Java qui affecte l'analyse default des dates, timestamp et décimales dans le JSON.

pretty

false

true, false

Activer ou non la sortie JSON formatée (indentée, multiligne).

sortKeys

false

true, false

Faut-il trier les clés des objets JSON par ordre alphabétique dans la sortie. Utile pour produire une sortie déterministe.

timestampFormat

yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]

Une chaîne de format Timestamp

La chaîne de format pour les valeurs de colonne de timestamp. S'applique à json (DataFrameWriter).

timestampNTZFormat

yyyy-MM-dd'T'HH:mm:ss[.SSS]

Une chaîne de format Timestamp

Chaîne de format pour les valeurs de colonne de timestamp sans fuseau horaire (TimestampNTZType).

writeNonAsciiCharacterAsCodePoint

false

true, false

Faut-il encoder les caractères non-ASCII sous forme de séquences d’échappement Unicode \uXXXX plutôt que de caractères UTF-8 littéraux dans la sortie ?

ORC

Les options suivantes s'appliquent lors de l'écriture de fichiers ORC.

Clé

Par défaut

Valeurs valides

Description

compression

zstd

none, uncompressed, snappy, zlib, lzo, zstd, lz4, brotli

Codec de compression à utiliser lors de l'écriture. S'applique à orc (DataFrameWriter).

Clé

Par défaut

Valeurs valides

Description

compression

zstd

none, uncompressed, snappy, zlib, lzo, zstd, lz4, brotli

Codec de compression à utiliser lors de l'écriture. S'applique à orc (DataFrameWriter).

Parquet

Les options suivantes s’appliquent lors de l’écriture de fichiers Parquet.

Clé

Par défaut

Valeurs valides

Description

compression

snappy

none, uncompressed, snappy, gzip, lzo, brotli, lz4, lz4_raw, zstd

Codec de compression à utiliser lors de l'écriture. S'applique à Parquet (DataFrameWriter).

spark.sql.parquet.outputTimestampType

INT96

INT96, TIMESTAMP_MICROS, TIMESTAMP_MILLIS

Le type physique utilisé pour encoder les colonnes de timestamp. Utilisez INT96 pour la compatibilité avec les lecteurs Parquet hérités qui ne prennent pas en charge les types de timestamp standard.

Clé

Par défaut

Valeurs valides

Description

compression

snappy

none, uncompressed, snappy, gzip, lzo, brotli, lz4, lz4_raw, zstd

Codec de compression à utiliser lors de l'écriture. S'applique à Parquet (DataFrameWriter).

spark.sql.parquet.outputTimestampType

INT96

INT96, TIMESTAMP_MICROS, TIMESTAMP_MILLIS

Le type physique utilisé pour encoder les colonnes de timestamp. Utilisez INT96 pour la compatibilité avec les lecteurs Parquet hérités qui ne prennent pas en charge les types de timestamp standard.

Texte

Les options suivantes s'appliquent lors de l'écriture de fichiers texte.

Clé

Par défaut

Valeurs valides

Description

compression

none

none, bzip2, gzip, lz4, snappy, deflate, zstd

Codec de compression à utiliser lors de l'écriture. S’applique au texte (DataFrameWriter).

encoding

UTF-8

Nom de java.nio.charset.Charset

L'encodage de caractères des fichiers de sortie.

lineSep

\n

Une chaîne

La chaîne de séparation de lignes utilisée entre les enregistrements. S’applique au texte (DataFrameWriter).

Clé

Par défaut

Valeurs valides

Description

compression

none

none, bzip2, gzip, lz4, snappy, deflate, zstd

Codec de compression à utiliser lors de l'écriture. S’applique au texte (DataFrameWriter).

encoding

UTF-8

Nom de java.nio.charset.Charset

L'encodage de caractères des fichiers de sortie.

lineSep

\n

Une chaîne

La chaîne de séparation de lignes utilisée entre les enregistrements. S’applique au texte (DataFrameWriter).

XML

Les options suivantes s’appliquent lors de l’écriture de fichiers XML.

Clé

Par défaut

Valeurs valides

Description

arrayElementName

item

N’importe quelle chaîne

Le nom de l'élément pour les éléments de tableau qui n'ont pas de nom explicite. S'applique à xml (DataFrameWriter).

attributePrefix

_

N’importe quelle chaîne

Le préfixe ajouté aux noms de champs qui correspondent aux attributs XML. S'applique à xml (DataFrameWriter).

compression

none

none, bzip2, gzip, lz4, snappy, deflate, zstd

Codec de compression à utiliser lors de l'écriture. S'applique à xml (DataFrameWriter).

dateFormat

yyyy-MM-dd

Une chaîne de format de date

Chaîne de format pour les valeurs de colonne de date. S'applique à xml (DataFrameWriter).

declaration

version="1.0" encoding="UTF-8" standalone="yes"

Une chaîne de déclaration XML, ou une chaîne vide pour ne pas l'afficher.

La chaîne de déclaration XML écrite en haut de chaque fichier de sortie. Définir sur une chaîne vide pour supprimer la déclaration. S'applique à xml (DataFrameWriter).

encoding

UTF-8

Nom de java.nio.charset.Charset

L'encodage des caractères pour les fichiers de sortie. S'applique à xml (DataFrameWriter).

indent

4 espaces

N’importe quelle chaîne

La chaîne utilisée pour indenter les éléments enfants dans la sortie. Définissez une chaîne vide pour désactiver l'indentation et écrire chaque ligne sur une seule ligne.

locale

en-US

Un identifiant java.util.Locale

Un identifiant de locale Java qui affecte le formatage par default des dates, des Timestamp et des décimales dans le XML.

nullValue

null

N’importe quelle chaîne

La chaîne écrite pour les valeurs nulles. Lorsque défini sur null, les attributs et les éléments enfants pour les champs nuls sont omis. S'applique à xml (DataFrameWriter).

rootTag

ROWS

N’importe quelle chaîne

La balise d'élément racine qui enveloppe tous les éléments de ligne dans la sortie. S'applique à xml (DataFrameWriter).

rowTag

ROW

N’importe quelle chaîne

La balise d'élément qui représente une ligne dans la sortie. S'applique à xml (DataFrameWriter).

singleVariantColumn

Aucun

Une chaîne de nom de colonne

Le nom de la colonne de variante unique à écrire dans les fichiers XML. S'applique à xml (DataFrameWriter).

timestampFormat

yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]

Une chaîne de format Timestamp

La chaîne de format pour les valeurs de colonne de timestamp. S'applique à xml (DataFrameWriter).

timestampNTZFormat

yyyy-MM-dd'T'HH:mm:ss[.SSS]

Une chaîne de format Timestamp

Chaîne de format pour les valeurs de colonne de Timestamp sans fuseau horaire. S'applique à xml (DataFrameWriter).

validateName

true

true, false

Indique si une exception doit être levée si un nom de colonne n'est pas un identifiant d'élément XML valide. S'applique à xml (DataFrameWriter).

valueTag

_VALUE

N’importe quelle chaîne

Le nom de champ utilisé pour les données de caractères dans les éléments XML qui ont également des attributs ou des éléments enfants. S'applique à xml (DataFrameWriter).

Clé

Par défaut

Valeurs valides

Description

arrayElementName

item

N’importe quelle chaîne

Le nom de l'élément pour les éléments de tableau qui n'ont pas de nom explicite. S'applique à xml (DataFrameWriter).

attributePrefix

_

N’importe quelle chaîne

Le préfixe ajouté aux noms de champs qui correspondent aux attributs XML. S'applique à xml (DataFrameWriter).

compression

none

none, bzip2, gzip, lz4, snappy, deflate, zstd

Codec de compression à utiliser lors de l'écriture. S'applique à xml (DataFrameWriter).

dateFormat

yyyy-MM-dd

Une chaîne de format de date

Chaîne de format pour les valeurs de colonne de date. S'applique à xml (DataFrameWriter).

declaration

version="1.0" encoding="UTF-8" standalone="yes"

Une chaîne de déclaration XML, ou une chaîne vide pour ne pas l'afficher.

La chaîne de déclaration XML écrite en haut de chaque fichier de sortie. Définir sur une chaîne vide pour supprimer la déclaration. S'applique à xml (DataFrameWriter).

encoding

UTF-8

Nom de java.nio.charset.Charset

L'encodage des caractères pour les fichiers de sortie. S'applique à xml (DataFrameWriter).

indent

4 espaces

N’importe quelle chaîne

La chaîne utilisée pour indenter les éléments enfants dans la sortie. Définissez une chaîne vide pour désactiver l'indentation et écrire chaque ligne sur une seule ligne.

locale

en-US

Un identifiant java.util.Locale

Un identifiant de locale Java qui affecte le formatage par default des dates, des Timestamp et des décimales dans le XML.

nullValue

null

N’importe quelle chaîne

La chaîne écrite pour les valeurs nulles. Lorsque défini sur null, les attributs et les éléments enfants pour les champs nuls sont omis. S'applique à xml (DataFrameWriter).

rootTag

ROWS

N’importe quelle chaîne

La balise d'élément racine qui enveloppe tous les éléments de ligne dans la sortie. S'applique à xml (DataFrameWriter).

rowTag

ROW

N’importe quelle chaîne

La balise d'élément qui représente une ligne dans la sortie. S'applique à xml (DataFrameWriter).

singleVariantColumn

Aucun

Une chaîne de nom de colonne

Le nom de la colonne de variante unique à écrire dans les fichiers XML. S'applique à xml (DataFrameWriter).

timestampFormat

yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]

Une chaîne de format Timestamp

La chaîne de format pour les valeurs de colonne de timestamp. S'applique à xml (DataFrameWriter).

timestampNTZFormat

yyyy-MM-dd'T'HH:mm:ss[.SSS]

Une chaîne de format Timestamp

Chaîne de format pour les valeurs de colonne de Timestamp sans fuseau horaire. S'applique à xml (DataFrameWriter).

validateName

true

true, false

Indique si une exception doit être levée si un nom de colonne n'est pas un identifiant d'élément XML valide. S'applique à xml (DataFrameWriter).

valueTag

_VALUE

N’importe quelle chaîne

Le nom de champ utilisé pour les données de caractères dans les éléments XML qui ont également des attributs ou des éléments enfants. S'applique à xml (DataFrameWriter).

Options de DataStreamWriter

Utilisez ces options avec DataStreamWriter.option() pour configurer les écritures en streaming.

Exemple

L'exemple suivant définit l'emplacement du point de contrôle pour un Stream :

Python
(df.writeStream
.format("delta")
.option("checkpointLocation", "/path/to/checkpoint")
.start("/path/to/table"))

Commun

Les options suivantes s’appliquent à toutes les Opérations d’écriture en streaming.

Clé

Par défaut

Valeurs valides

Description

checkpointLocation

Aucun (obligatoire)

Une chaîne de chemin

Chemin d'accès au répertoire de checkpoint pour la query de streaming. Requis pour la tolérance aux pannes et les garanties de traitement exactement une fois. Chaque query de streaming doit utiliser un emplacement de checkpoint unique. Databricks recommande de stocker les checkpoints dans un volume Unity Catalog ou un chemin de stockage cloud. Consultez la section Points de contrôle Structured Streaming.

path

Aucun

Une chaîne de chemin

Chemin de sortie pour les récepteurs de streaming basés sur des fichiers, tels que Parquet. S'applique uniquement aux formats basés sur des fichiers.

Clé

Par défaut

Valeurs valides

Description

checkpointLocation

Aucun (obligatoire)

Une chaîne de chemin

Chemin d'accès au répertoire de checkpoint pour la query de streaming. Requis pour la tolérance aux pannes et les garanties de traitement exactement une fois. Chaque query de streaming doit utiliser un emplacement de checkpoint unique. Databricks recommande de stocker les checkpoints dans un volume Unity Catalog ou un chemin de stockage cloud. Consultez la section Points de contrôle Structured Streaming.

path

Aucun

Une chaîne de chemin

Chemin de sortie pour les récepteurs de streaming basés sur des fichiers, tels que Parquet. S'applique uniquement aux formats basés sur des fichiers.

Puits de console

Les options suivantes s'appliquent lors de l'écriture de Stream vers le récepteur de la console.

Clé

Par défaut

Valeurs valides

Description

numRows

20

Nombres entiers positifs.

Le nombre de lignes à afficher pour chaque micro-batch lors de l'écriture dans le récepteur console.

truncate

true

true, false

Indique s'il faut tronquer les chaînes longues lors de l'affichage des lignes. Définir sur false pour afficher les valeurs de chaîne complètes.

Clé

Par défaut

Valeurs valides

Description

numRows

20

Nombres entiers positifs.

Le nombre de lignes à afficher pour chaque micro-batch lors de l'écriture dans le récepteur console.

truncate

true

true, false

Indique s'il faut tronquer les chaînes longues lors de l'affichage des lignes. Définir sur false pour afficher les valeurs de chaîne complètes.

Delta Lake

Les options suivantes s'appliquent lors de l'écriture d'un Stream dans une table Delta Lake à l'aide de format("delta"). Les options de remplacement uniquement telles que overwriteSchema, replaceWhere et partitionOverwriteMode ne sont pas prises en charge pour les écritures en streaming.

Clé

Par défaut

Valeurs valides

Description

mergeSchema

false

true, false

S'il faut faire évoluer le schéma de la table Delta Lake lorsque le DataFrame de streaming contient de nouvelles colonnes. S'applique uniquement au mode de sortie d'ajout. S'applique à Mettre à jour les schémas de table avec l'évolution des schémas.

userMetadata

Aucun

N’importe quelle chaîne

Chaîne définie par l'utilisateur ajoutée aux métadonnées de commit pour l'opération d'écriture. Visible dans la sortie de DESCRIBE HISTORY. S'applique à Enrichir les tables avec des métadonnées personnalisées.

Clé

Par défaut

Valeurs valides

Description

mergeSchema

false

true, false

S'il faut faire évoluer le schéma de la table Delta Lake lorsque le DataFrame de streaming contient de nouvelles colonnes. S'applique uniquement au mode de sortie d'ajout. S'applique à Mettre à jour les schémas de table avec l'évolution des schémas.

userMetadata

Aucun

N’importe quelle chaîne

Chaîne définie par l'utilisateur ajoutée aux métadonnées de commit pour l'opération d'écriture. Visible dans la sortie de DESCRIBE HISTORY. S'applique à Enrichir les tables avec des métadonnées personnalisées.

Puits de fichier

L'option suivante s'applique lors de l'écriture d'un Stream vers des formats basés sur des fichiers (Parquet, JSON, CSV, ORC, texte). Pour les options spécifiques au format, consultez les options DataFrameWriter.

Clé

Par défaut

Valeurs valides

Description

retention

Aucun

Une chaîne de caractères temporelle telle que 7 days ou 24 hours

Durée de rétention des fichiers de métadonnées de sink utilisés pour la tolérance aux pannes et le compactage. Lorsqu'elle n'est pas définie, les fichiers de métadonnées sont conservés indéfiniment.

Clé

Par défaut

Valeurs valides

Description

retention

Aucun

Une chaîne de caractères temporelle telle que 7 days ou 24 hours

Durée de rétention des fichiers de métadonnées de sink utilisés pour la tolérance aux pannes et le compactage. Lorsqu'elle n'est pas définie, les fichiers de métadonnées sont conservés indéfiniment.

Puits Kafka

Les options suivantes s'appliquent lors de l'écriture dans Kafka.

Clé

Par défaut

Valeurs valides

Description

kafka.bootstrap.servers

Aucun

Une liste de host:port chaînes séparées par des virgules

Obligatoire. Une liste d'adresses de brokers Kafka host:port séparées par des virgules.

topic

Aucun

N’importe quelle chaîne

Le sujet Kafka cible pour toutes les lignes. Obligatoire si le DataFrame n'inclut pas de colonne topic.

kafka.*

Aucun

Toute valeur de configuration de producteur Kafka

Toute configuration de producteur Kafka précédée de kafka.. Par exemple, kafka.compression.type.

Clé

Par défaut

Valeurs valides

Description

kafka.bootstrap.servers

Aucun

Une liste de host:port chaînes séparées par des virgules

Obligatoire. Une liste d'adresses de brokers Kafka host:port séparées par des virgules.

topic

Aucun

N’importe quelle chaîne

Le sujet Kafka cible pour toutes les lignes. Obligatoire si le DataFrame n'inclut pas de colonne topic.

kafka.*

Aucun

Toute valeur de configuration de producteur Kafka

Toute configuration de producteur Kafka précédée de kafka.. Par exemple, kafka.compression.type.

Puits de mémoire

Les options suivantes s'appliquent lors de l'écriture de Streams vers le récepteur de mémoire.

Clé

Par défaut

Valeurs valides

Description

queryName

Aucun (obligatoire)

N’importe quelle chaîne

Le nom de la table en mémoire dans laquelle la query écrit. Requis pour le puits de mémoire. Également configurable via .queryName().

mode

exactlyonce

exactlyonce, atleastonce

Garantie de livraison pour le récepteur de mémoire. exactlyonce utilise le mode micro-batch avec une sémantique exactement-une fois. atleastonce utilise le mode continu avec une sémantique au moins une fois.

Clé

Par défaut

Valeurs valides

Description

queryName

Aucun (obligatoire)

N’importe quelle chaîne

Le nom de la table en mémoire dans laquelle la query écrit. Requis pour le puits de mémoire. Également configurable via .queryName().

mode

exactlyonce

exactlyonce, atleastonce

Garantie de livraison pour le récepteur de mémoire. exactlyonce utilise le mode micro-batch avec une sémantique exactement-une fois. atleastonce utilise le mode continu avec une sémantique au moins une fois.

Options de fonction Spark

Certaines fonctions intégrées de Spark SQL acceptent une carte options qui contrôle le comportement d'analyse ou de sérialisation. Passez les options en tant que Python dict ou Scala Map[String, String].

Exemple

L'exemple suivant analyse une colonne JSON en supprimant les enregistrements malformés :

Python
from pyspark.sql.functions import from_json
from pyspark.sql.types import StructType, StructField, StringType

schema = StructType([StructField("name", StringType())])
df = df.withColumn("parsed", from_json("json_col", schema, {"mode": "DROPMALFORMED"}))

Avro

Les fonctions Avro acceptent les mêmes options que les options DataFrame correspondantes :

Exemple

L’exemple suivant décode une colonne Avro avec l’évolution des schémas activée :

Python
from pyspark.sql.functions import from_avro

df = df.withColumn("decoded", from_avro("avro_col", json_schema, {"avroSchemaEvolutionMode": "restart"}))

De plus, les variantes du registre de schémas de from_avro et to_avro acceptent les options suivantes :

Clé

Par défaut

Valeurs valides

Description

schemaId

Aucun

Un entier d’ID de schéma

ID de schéma du registre de schémas Confluent à utiliser lors du décodage des données Avro qui ont été encodées avec un schéma incompatible avec jsonFormatSchema. S’applique uniquement à from_avro.

confluent.schema.registry.*

Aucun

Toute valeur de propriété client Confluent SR

Propriétés de configuration du client du registre de schémas Confluent. Transmettez toute propriété de client Confluent SR à l'aide de ce préfixe, par exemple confluent.schema.registry.basic.auth.user.info pour les informations d'identification d'authentification de base. Requis pour les variantes du Registre de schémas de from_avro et to_avro.

Clé

Par défaut

Valeurs valides

Description

schemaId

Aucun

Un entier d’ID de schéma

ID de schéma du registre de schémas Confluent à utiliser lors du décodage des données Avro qui ont été encodées avec un schéma incompatible avec jsonFormatSchema. S’applique uniquement à from_avro.

confluent.schema.registry.*

Aucun

Toute valeur de propriété client Confluent SR

Propriétés de configuration du client du registre de schémas Confluent. Transmettez toute propriété de client Confluent SR à l'aide de ce préfixe, par exemple confluent.schema.registry.basic.auth.user.info pour les informations d'identification d'authentification de base. Requis pour les variantes du Registre de schémas de from_avro et to_avro.

CSV

Les fonctions CSV acceptent les mêmes options que les options correspondantes du DataFrame :

Exemple

L'exemple suivant lit le CSV avec un séparateur personnalisé et une valeur NULL :

Python
from pyspark.sql.functions import from_csv
from pyspark.sql.types import StructType, StructField, IntegerType, StringType

schema = StructType([StructField("id", IntegerType()), StructField("name", StringType())])
df = df.withColumn("parsed", from_csv("csv_col", schema, {"sep": "|", "nullValue": "N/A"}))

JSON

Les fonctions JSON acceptent les mêmes options que les options DataFrame correspondantes :

Exemple

L’exemple suivant écrit du JSON avec NULL champs ignorés et une mise en forme agréable activée :

Python
from pyspark.sql.functions import to_json

df = df.withColumn("json_str", to_json("struct_col", {"pretty": "true", "ignoreNullFields": "true"}))

Protobuf

from_protobuf et to_protobuf n'utilisent pas de source de données basée sur des fichiers. Les données Protobuf sont toujours lues et écrites en tant que colonnes binaires à l'aide de ces fonctions. Les options sont transmises en tant que Map[String, String] et sont sensibles à la casse.

Exemple

L’exemple suivant décode une colonne Protobuf en mode PERMISSIF :

Python
from pyspark.sql.functions import from_protobuf

df = df.withColumn("decoded", from_protobuf("proto_col", "MyMessage", "/path/to/descriptor.desc",
{"mode": "PERMISSIVE", "enums.as.ints": "true"}))

Les fonctions Protobuf utilisent les options suivantes :

Clé

Par défaut

Valeurs valides

Description

mode

FAILFAST

FAILFAST, PERMISSIVE

Comment gérer les enregistrements corrompus. FAILFAST lève une exception. PERMISSIVE définit les champs mal formés à null. S'applique à from_protobuf.

recursive.fields.max.depth

-1 (désactivé)

0 à la 10

Profondeur de récursivité maximale pour les champs Protobuf récursifs. Définir sur 0 pour désactiver la prise en charge des champs récursifs. S'applique à from_protobuf.

convert.any.fields.to.json

false

true, false

Faut-il convertir les champs Protobuf Any en une chaîne JSON au lieu d’un STRUCT? S’applique à from_protobuf.

emit.default.values

false

true, false

S'il faut émettre des champs avec des valeurs nulles ou default (sémantique proto3). Lorsque false, les champs avec des valeurs default sont omis de la sortie. S'applique à from_protobuf.

enums.as.ints

false

true, false

Indique s'il faut afficher les champs d'énumération en tant que valeurs entières au lieu de chaînes de caractères. S'applique à from_protobuf.

upcast.unsigned.ints

false

true, false

Si vous devez convertir uint32 en Long et uint64 en Decimal(20,0) afin d'éviter le dépassement d'entier. S'applique à from_protobuf.

unwrap.primitive.wrapper.types

false

true, false

Déballer ou non les types wrapper google.protobuf (par exemple, Int32Value et StringValue) vers leurs types Spark primitifs correspondants. S'applique à from_protobuf.

retain.empty.message.types

false

true, false

Indique s'il faut conserver les types de messages Protobuf vides dans le schéma de sortie en insérant une colonne factice. S'applique à from_protobuf.

schema.registry.subject

Aucun

N’importe quelle chaîne

Nom du sujet du Registre de schémas. Requis lors de l'utilisation des variantes du Registre de schémas de from_protobuf et to_protobuf.

schema.registry.address

Aucun

Une chaîne de caractères host:port

Adresse du Registre de schémas (hôte et port). Requis lors de l'utilisation des variantes du Registre de schémas de from_protobuf et to_protobuf.

schema.registry.protobuf.name

Aucun

N’importe quelle chaîne

Spécifie quel message Protobuf utiliser lorsque le sujet du registre de schémas contient plusieurs messages. Facultatif.

schema.registry.schema.evolution.mode

"restart"

"restart", "none"

Comment les modifications de schéma sont gérées lorsqu'un ID de schéma plus récent est détecté dans un enregistrement entrant. "restart" met fin à la query avec un UnknownFieldException; configurez les jobs pour qu'ils redémarrent en cas d'échec afin de prendre en compte les modifications. "none" ignore les modifications d'ID de schéma et analyse les enregistrements plus récents avec le schéma d'origine.

confluent.schema.registry.<option>

Toute valeur d'option client valide pour Confluent Schema Registry

Transmettez toute option de client Confluent Schema Registry en utilisant le préfixe "confluent.schema.registry". Par exemple, définissez "confluent.schema.registry.basic.auth.credentials.source" sur "USER_INFO" et "confluent.schema.registry.basic.auth.user.info" sur "<KEY>:<SECRET>" pour configurer l'authentification de base.

Clé

Par défaut

Valeurs valides

Description

mode

FAILFAST

FAILFAST, PERMISSIVE

Comment gérer les enregistrements corrompus. FAILFAST lève une exception. PERMISSIVE définit les champs mal formés à null. S'applique à from_protobuf.

recursive.fields.max.depth

-1 (désactivé)

0 à la 10

Profondeur de récursivité maximale pour les champs Protobuf récursifs. Définir sur 0 pour désactiver la prise en charge des champs récursifs. S'applique à from_protobuf.

convert.any.fields.to.json

false

true, false

Faut-il convertir les champs Protobuf Any en une chaîne JSON au lieu d’un STRUCT? S’applique à from_protobuf.

emit.default.values

false

true, false

S'il faut émettre des champs avec des valeurs nulles ou default (sémantique proto3). Lorsque false, les champs avec des valeurs default sont omis de la sortie. S'applique à from_protobuf.

enums.as.ints

false

true, false

Indique s'il faut afficher les champs d'énumération en tant que valeurs entières au lieu de chaînes de caractères. S'applique à from_protobuf.

upcast.unsigned.ints

false

true, false

Si vous devez convertir uint32 en Long et uint64 en Decimal(20,0) afin d'éviter le dépassement d'entier. S'applique à from_protobuf.

unwrap.primitive.wrapper.types

false

true, false

Déballer ou non les types wrapper google.protobuf (par exemple, Int32Value et StringValue) vers leurs types Spark primitifs correspondants. S'applique à from_protobuf.

retain.empty.message.types

false

true, false

Indique s'il faut conserver les types de messages Protobuf vides dans le schéma de sortie en insérant une colonne factice. S'applique à from_protobuf.

schema.registry.subject

Aucun

N’importe quelle chaîne

Nom du sujet du Registre de schémas. Requis lors de l'utilisation des variantes du Registre de schémas de from_protobuf et to_protobuf.

schema.registry.address

Aucun

Une chaîne de caractères host:port

Adresse du Registre de schémas (hôte et port). Requis lors de l'utilisation des variantes du Registre de schémas de from_protobuf et to_protobuf.

schema.registry.protobuf.name

Aucun

N’importe quelle chaîne

Spécifie quel message Protobuf utiliser lorsque le sujet du registre de schémas contient plusieurs messages. Facultatif.

schema.registry.schema.evolution.mode

"restart"

"restart", "none"

Comment les modifications de schéma sont gérées lorsqu'un ID de schéma plus récent est détecté dans un enregistrement entrant. "restart" met fin à la query avec un UnknownFieldException; configurez les jobs pour qu'ils redémarrent en cas d'échec afin de prendre en compte les modifications. "none" ignore les modifications d'ID de schéma et analyse les enregistrements plus récents avec le schéma d'origine.

confluent.schema.registry.<option>

Toute valeur d'option client valide pour Confluent Schema Registry

Transmettez toute option de client Confluent Schema Registry en utilisant le préfixe "confluent.schema.registry". Par exemple, définissez "confluent.schema.registry.basic.auth.credentials.source" sur "USER_INFO" et "confluent.schema.registry.basic.auth.user.info" sur "<KEY>:<SECRET>" pour configurer l'authentification de base.

XML

Les fonctions XML acceptent les mêmes options que les options DataFrame correspondantes :

Exemple

L'exemple suivant écrit du XML avec des balises racine et de ligne personnalisées :

Python
from pyspark.sql.functions import to_xml

df = df.withColumn("xml_str", to_xml("struct_col", {"rootTag": "records", "rowTag": "record"}))