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
- Scala
- SQL
df = spark.read.format("json").option("multiLine", True).load("/path/to/data")
val df = spark.read.format("json").option("multiLine", "true").load("/path/to/data")
SELECT * FROM read_files("/path/to/data", format => "json", multiLine => true)
Commun
Les options suivantes s'appliquent à tous les formats de fichier.
Clé | Par défaut | Valeurs valides | Description |
|---|---|---|---|
|
|
| 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 |
|
|
| 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. |
| 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é. |
| 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é. |
| Aucun | Une chaîne de modèle glob | Un modèle de glob potentiel pour choisir des fichiers. Équivalent à |
|
|
| Lorsque |
Avro
Les options suivantes s'appliquent lors de la lecture de fichiers Avro.
Clé | Par défaut | Valeurs valides | Description |
|---|---|---|---|
| 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. |
|
|
| Comment gérer l'évolution des schémas lors de l'utilisation d'un registre de schémas. |
|
|
| Contrôle le rebasage des valeurs DATE et TIMESTAMP entre les calendriers julien et grégorien proleptique. |
|
|
| 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, |
|
|
| S'il faut ou non déduire le schéma de plusieurs fichiers et Merge le schéma de chaque fichier. |
|
|
| Mode analyseur pour la gestion des enregistrements corrompus. |
|
|
| Spécifie le comportement de la sensibilité à la casse lorsque |
| Aucun |
| Profondeur de récursion maximale pour les champs Avro récursifs. Défini sur |
| 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, consultez Qu’est-ce que la colonne de données récupérées ?. |
|
| N’importe quelle chaîne | Le préfixe à utiliser pour les noms de champs de type d'union stable lorsque |
CSV
Les options suivantes s'appliquent lors de la lecture de fichiers CSV.
Clé | Par défaut | Valeurs valides | Description |
|---|---|---|---|
| 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. |
|
| Un seul caractère | Le caractère utilisé pour échapper le caractère utilisé pour échapper les guillemets. Par exemple, pour l'enregistrement suivant :
|
|
| Une chaîne de nom de colonne | Pris en charge pour Auto Loader. Non pris en charge pour |
|
| 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 |
|
| Une chaîne de format de date | Le format pour l'analyse des chaînes de dates. |
| Chaîne vide | N’importe quelle chaîne | Représentation sous forme de chaîne d'une valeur vide. |
|
|
| 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 |
|
| Nom de | Le nom de l'encodage des fichiers CSV. Consultez |
|
|
| 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. |
|
| Un seul caractère | Le caractère d'échappement à utiliser lors de l'analyse des données. |
|
| 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. |
|
|
| Échec si l'enregistrement CSV contient des colonnes non présentes dans le schéma. Lorsque |
|
|
| Échec si une valeur de champ ne peut pas être analysée comme le type de schéma déclaré sans élargissement. Lorsque |
|
|
| 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. |
|
|
| Permet d’ignorer les espaces blancs de début pour chaque valeur analysée. |
|
|
| S’il faut ignorer les espaces blancs de fin pour chaque valeur analysée. |
|
|
| 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 |
|
| 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. |
| Aucun, qui couvre | Une chaîne | Une chaîne entre deux enregistrements CSV consécutifs. |
|
| Un identifiant | 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. |
|
| Entiers positifs ou | 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 |
|
| Nombres entiers positifs. | La limite stricte du nombre de colonnes qu'un enregistrement peut avoir. |
|
|
| 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 analyseur pour la gestion des enregistrements mal formés. |
|
|
| Si les enregistrements CSV s'étendent sur plusieurs lignes. |
|
| 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 |
|
| N’importe quelle chaîne | La représentation sous forme de chaîne de l'infini négatif lors de l'analyse des colonnes |
| Chaîne vide | N’importe quelle chaîne | Représentation sous forme de chaîne d’une valeur nulle. |
|
|
| 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 |
|
| N’importe quelle chaîne | La représentation en chaîne de l'infini positif lors de l'analyse des colonnes |
|
|
| 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 |
|
| Un seul caractère | Le caractère utilisé pour échapper les valeurs lorsque le délimiteur de champ fait partie de la valeur. |
|
|
| Spécifie le comportement de la sensibilité à la casse lorsque |
| 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 ?.
|
|
| Une chaîne | La chaîne séparatrice entre les colonnes. |
| 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 |
|
| Entiers positifs ou | Le nombre de lignes du début du fichier CSV à ignorer, y compris les lignes commentées et vides. Si |
|
| Une chaîne de format de l'heure | Le format d'analyse des valeurs de la colonne |
|
| Une chaîne de format Timestamp | Le format pour l'analyse des chaînes de Timestamp. |
|
| Une chaîne de format Timestamp | Le format pour l'analyse des chaînes de Timestamp sans fuseau horaire ( |
| Aucun | Une chaîne de caractères | Le |
|
|
| La stratégie de gestion des guillemets non échappés. Le comportement de chaque option autorisée est le suivant :
|
Excel
Les options suivantes s'appliquent lors de la lecture des fichiers Excel.
Clé | Par défaut | Valeurs valides | Description |
|---|---|---|---|
| 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 |
|
|
| Nombre de lignes initiales à utiliser comme en-têtes de noms de colonne. Lorsque |
|
|
| Ignorer silencieusement les fichiers qui ne contiennent pas la feuille spécifiée par |
|
|
| 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. |
|
|
| L'opération à effectuer sur le classeur Excel. |
|
| 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. |
|
| Une chaîne de format de date | Chaîne de format personnalisée pour les valeurs de chaîne lues comme |
JSON
Les options suivantes s’appliquent lors de la lecture de fichiers JSON.
Clé | Par défaut | Valeurs valides | Description |
|---|---|---|---|
|
|
| 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. |
|
|
| Autoriser ou non l'utilisation de commentaires de style Java, C et C++ (variétés |
|
|
| Autoriser ou non l'ensemble de jetons non numériques ( |
|
|
| Autoriser les nombres entiers à start par des zéros supplémentaires (ignorables) (par exemple, |
|
|
| Autoriser l'utilisation de guillemets simples (apostrophe, caractère |
|
|
| 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). |
|
|
| 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. |
| Aucun |
| L’encodage utilisé pour les valeurs Variant dans le JSON source. Définissez sur |
| 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
|
|
| 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 |
|
| Une chaîne de format de date | Le format pour l'analyse des chaînes de dates. |
|
|
| Faut-il ignorer les colonnes de toutes les valeurs nulles ou les tableaux et structs vides pendant l'inférence de schéma ? |
|
| Nom de | Le nom de l'encodage des fichiers JSON. Consultez |
|
|
| Indique s’il faut essayer de déduire les chaînes de timestamp comme un |
| Aucun, qui couvre | Une chaîne | Une chaîne entre deux enregistrements JSON consécutifs. |
|
| Un identifiant | Un identifiant de paramètres régionaux Java qui affecte l'analyse default des dates, timestamp et décimales dans le JSON. |
|
| 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. |
|
| 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. |
| 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 analyseur pour la gestion des enregistrements mal formés. |
|
|
| Si les enregistrements JSON s'étendent sur plusieurs lignes. |
|
|
| Tentatives d'inférer les chaînes en tant que |
|
|
| Faut-il inférer les types primitifs comme les nombres et les booléens en tant que |
|
|
| Spécifie le comportement de la sensibilité à la casse lorsque |
| 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 ?.
|
| 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. |
|
| Une chaîne de format Timestamp | Le format pour l'analyse des chaînes de Timestamp. |
|
| Une chaîne de format Timestamp | Le format pour l'analyse des chaînes de Timestamp sans fuseau horaire ( |
| Aucun | Une chaîne de caractères | Le |
|
|
| 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 |
|---|---|---|---|
|
|
| Point d'arrêt de la lecture. Dans la chaîne JSON, |
| Aucun | Une chaîne de Timestamp JSON | Décalages de fin par partition spécifiés comme timestamps en millisecondes. Par exemple : |
| Aucun | Entiers positifs ou | 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 |
|---|---|---|---|
|
|
| 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 |
|---|---|---|---|
|
|
| Contrôle le rebasage des valeurs DATE et TIMESTAMP entre les calendriers julien et grégorien proleptique. |
|
|
| Contrôle le rebasage des valeurs de timestamp INT96 entre les calendriers julien et grégorien proleptique. |
|
|
| S’il faut ou non inférer le schéma de plusieurs fichiers et Merge le schéma de chaque fichier. |
|
|
| Spécifie le comportement de la sensibilité à la casse lorsque |
| 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 ?.
|
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 |
|---|---|---|---|
| Dernier ID de batch | Entiers positifs ou | 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é. |
|
| Entiers positifs ou | L'opérateur cible à partir duquel lire. Utilisez lorsque la query a plusieurs opérateurs avec état. |
|
| 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 |
| Aucun |
| Le côté cible à lire pour une jointure Stream-Stream. Vous devez spécifier soit |
| Aucun | Entiers positifs ou | 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'à |
| Aucun | Entiers positifs ou | Si spécifié, la query lit uniquement cette partition. À spécifier avec |
|
|
| Lorsque Pour plus de détails, consultez Lire les modifications d'état de Structured Streaming. |
| Aucun | Entiers positifs ou | L'ID de batch de début pour la plage du flux de modifications. Obligatoire lorsque |
| Dernier ID de batch | Entiers positifs ou | L'ID de batch de fin pour la plage du flux de modification. Doit être supérieur ou égal à |
| 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 |
|
|
| Lorsque |
|
|
| Lorsque |
Texte
Les options suivantes s’appliquent lors de la lecture de fichiers texte.
Clé | Par défaut | Valeurs valides | Description |
|---|---|---|---|
|
| Nom de | 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. |
| Aucun, qui couvre | Une chaîne | Une chaîne entre deux enregistrements TEXT consécutifs. |
|
|
| 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 |
|---|---|---|---|
| Aucun | N’importe quelle chaîne | Le tag de ligne des fichiers XML à traiter comme une ligne. Dans l'exemple XML |
|
|
| Définit une fraction de lignes utilisées pour l'inférence de schéma. Les fonctions XML intégrées ignorent cette option. |
|
|
| Exclure ou non les attributs dans les éléments. |
| Aucun |
| Mode de gestion des enregistrements corrompus lors de l'analyse.
|
|
|
| Si |
|
| 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 |
| 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 |
|
| 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 |
|
| Nom de | 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. |
|
|
| Faut-il ignorer les espaces blancs qui entourent les valeurs. Les données composées uniquement d’espaces blancs sont ignorées. |
| 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é. |
|
|
| Si |
|
| 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 |
|
| 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. |
|
| 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. |
|
| 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, |
| chaîne | N’importe quelle chaîne | Définit la représentation sous forme de chaîne d'une valeur nulle. Lorsque la valeur est |
|
|
| 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. |
| 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 ?. |
|
| 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. |
|
|
| 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 |
|
| 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 ( |
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
- Scala
df = spark.readStream.format("delta").option("maxFilesPerTrigger", 10).load("/path/to/delta-table")
val 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 |
|---|---|---|---|
|
|
| Comment traiter les fichiers source après leur traitement par le stream. |
|
|
| 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 |
|
|
| 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 |
| 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 Pour Auto Loader, utilisez |
|
| Entiers positifs ou | Le nombre maximal de fichiers non traités à mettre en cache pour les micro-batches suivants. Définissez sur |
|
| Une chaîne de durée telle que | Â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 |
|
| Nombres entiers positifs. | Limite supérieure pour le nombre de nouveaux fichiers traités dans chaque micro-batch. Lorsqu'il est utilisé conjointement avec Pour Auto Loader, utilisez |
| Aucun | Une chaîne de chemin | Chemin d'accès au répertoire d'archives lorsque |
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 |
|---|---|---|---|
|
|
| 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é ?. |
| Aucun | Une chaîne de durée telle que | 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 |
|
|
| Permet de supprimer ou de déplacer automatiquement les fichiers traités du répertoire d'entrée. Lorsqu'il est réglé sur Lorsque défini sur Lorsqu'il est défini sur Un fichier est considéré comme traité lorsqu'il a une valeur non nulle pour Examinez les considérations suivantes avant d'activer
Disponible dans Databricks Runtime 16.4 et versions ultérieures. |
|
| Une chaîne CalendarInterval telle que | Durée d’attente avant que les fichiers traités ne deviennent des candidats à l’archivage avec Disponible dans Databricks Runtime 16.4 et versions ultérieures. |
| Aucun | Un chemin de stockage cloud ou de volume Unity Catalog | Chemin d'accès pour archiver les fichiers traités lorsque L'emplacement de déplacement doit :
Auto Loader doit disposer d'autorisations d'écriture pour ce répertoire. Disponible dans Databricks Runtime 16.4 et versions ultérieures. |
| Aucun (option requise) |
| Le format du fichier de données dans le chemin source. Les valeurs valides incluent :
|
|
|
| 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. |
|
|
| 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. |
| Aucun | Une chaîne d’octets telle que | 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 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. |
| 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 |
|
| Nombres entiers positifs. | Le nombre maximum de nouveaux fichiers à traiter dans chaque trigger. Lorsqu’il est utilisé avec 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. |
| 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
La spécification de
|
|
|
| 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. |
| 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. |
| 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. |
|
|
| 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. |
|
|
| 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 |
|---|---|---|---|
|
|
| Cette fonctionnalité est obsolète. Databricks recommande d'utiliser le mode de notification de fichiers avec les événements de fichiers au lieu de 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 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 ( 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 |
|---|---|---|---|
|
| 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 |
| Aucun | Une chaîne de mappage JSON | Requis uniquement si vous spécifiez un Ne pas utiliser lorsque |
| 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 :
Ne pas utiliser lorsque Pour plus d'informations, voir balises de ressources de fournisseur cloud. |
|
|
| Lorsqu'il est défini sur 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 :
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. |
|
|
| Lorsque |
|
|
| S'il faut utiliser le mode de notification de fichiers pour déterminer s'il y a de nouveaux fichiers. Si Ne pas utiliser lorsque |
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:Databrickspath: 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 |
|---|---|---|---|
| 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 |
|---|---|---|---|
|
|
| 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 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 |
|---|---|---|---|
| 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 |
|---|---|---|---|
| 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 |
|---|---|---|---|
| Aucun | N’importe quelle chaîne | L'ID de la clé d'accès AWS pour l'utilisateur. Doit être spécifié avec |
| Aucun | N’importe quelle chaîne | La clé d'accès secrète AWS pour l'utilisateur. Doit être spécifié avec |
| 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 |
| Aucun | N’importe quelle chaîne | Un identifiant à utiliser lors de l'attribution d'un rôle avec |
| Aucun | N’importe quelle chaîne | Un nom de session facultatif à utiliser lors de l'adoption d'un rôle à l'aide de |
| 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 |
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 |
|---|---|---|---|
| Aucun | N’importe quelle chaîne | Le groupe de ressources Azure dans lequel le compte de stockage est créé. |
| Aucun | N’importe quelle chaîne | L'ID d'abonnement Azure dans lequel le groupe de ressources est créé. |
| 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 |
|---|---|---|---|
| Aucun | N’importe quelle chaîne | L'ID client ou l'ID d'application du Service Principal Databricks. |
| Aucun | N’importe quelle chaîne | Le secret client du Service Principal Databricks. |
| 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). |
| 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 |
|---|---|---|---|
| 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 |
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 |
|---|---|---|---|
| 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. |
| 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 |
|---|---|---|---|
| Aucun | N’importe quelle chaîne | L'ID client du Compte de service Google. |
| Aucun | Chaîne d'adresse e-mail | L'e-mail du compte de service Google. |
| Aucun | Une chaîne de clé privée | La clé privée qui est générée pour le Compte de service Google. |
| 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 |
|---|---|---|---|
| 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 |
|---|---|---|---|
| Aucun | Un numéro de version ou | Défini sur un numéro de version de table Delta ou |
| Aucun | Un numéro de version ou | Définir sur un numéro de version de table Delta ou |
| Aucun | Un numéro de version ou | Définissez un numéro de version de table Delta ou |
| 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. |
|
|
| 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 ( |
|
|
| 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 |
|
|
| 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 |
|
|
| 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. |
| 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 |
|
|
| 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 |
| La plus récente disponible | Une chaîne Timestamp telle que | 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 |
| La plus récente disponible | Un entier positif, | 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 |
|
|
| 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 |
|---|---|---|---|
| Aucun | Une chaîne JSON telle que | Les partitions spécifiques à consommer. Vous devez spécifier exactement l’une des options |
|
|
| É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 Databricks estime de manière prudente si des données ont pu être perdues. Cependant, cela pourrait entraîner de fausses alertes. |
|
| Entiers positifs ou | Le nombre de tentatives lorsque la récupération des offsets Kafka échoue. |
|
| Entiers positifs ou | L’intervalle en millisecondes entre les tentatives de récupération de décalage. |
|
| N’importe quelle chaîne | Le préfixe personnalisé à utiliser pour l'ID de groupe de consommateurs Kafka auto-généré. Si |
| 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, |
|
|
| S'il faut inclure les en-têtes de message Kafka en tant que colonne dans le résultat. |
| Aucun | Nombres entiers positifs. | Le délai d'expiration en millisecondes pour l'appel |
| Aucun | Une liste de | Une liste d'hôtes séparés par des virgules Adresses des brokers Kafka. Définit la propriété 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. |
| 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 |
| 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. |
|
|
| Le décalage à partir duquel la query commence la lecture. Dans la chaîne JSON, 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, |
| Aucun | Une chaîne Timestamp JSON telle que | 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 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. |
|
|
| La stratégie à utiliser lorsqu'aucun décalage n'est trouvé pour un Timestamp spécifié dans |
| Aucun | Entiers positifs ou | 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 |
| 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 |
| Aucun | Une chaîne regex Java | Le modèle utilisé pour s'abonner aux rubriques. Vous devez spécifier exactement une des options |
Les options suivantes s'appliquent uniquement aux lectures en streaming avec spark.readStream.format("kafka"):
Clé | Par défaut | Valeurs valides | Description |
|---|---|---|---|
|
| Chaînes de durée telles que | La fenêtre de temps utilisée pour estimer les octets restants pour la métrique |
| 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. |
|
| Chaînes de durée telles que | Le temps maximal d’attente avant que |
| Aucun | Nombres entiers positifs. | Le nombre minimum de décalages à accumuler avant de Trigger un micro-batch. Lorsque |
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 |
|---|---|---|---|
| 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. |
| 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 |
|---|---|---|---|
| Aucun | Une chaîne de protocole de sécurité, telle que | Le protocole de sécurité pour la communication de courtier. |
| Aucun | Une chaîne de mécanisme SASL, telle que | Le mécanisme SASL. |
| Aucun | Une chaîne de configuration JAAS | La chaîne de configuration de connexion JAAS. |
| 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. |
| 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. |
| Aucun | Un chemin d'accès au fichier | Le chemin d’accès au fichier du magasin de confiance SSL. |
| Aucun | N’importe quelle chaîne | Le mot de passe du fichier de magasin de confiance SSL. |
| Aucun | Un chemin d'accès au fichier | Le chemin d'accès au fichier de stockage de clés SSL. |
| 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 |
|---|---|---|---|
| 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. |
| 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, |
Les options suivantes sont également disponibles :
Clé | Par défaut | Valeurs valides | Description |
|---|---|---|---|
| Aucun | N’importe quelle chaîne | L'ID de la clé d'accès AWS. Doit être spécifié avec |
| Aucun | N’importe quelle chaîne | La clé d'accès secrète AWS correspondant à |
|
| Nombres entiers positifs. | La taille de bloc cible approximative en octets après fusion. |
|
| 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 |
|
|
| Le type de consommateur. |
| 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. |
|
| N’importe quelle chaîne | Le préfixe ajouté à |
|
| Une chaîne de durée telle que | L'intervalle auquel l'enregistrement du consommateur EFO est vérifié et actualisé. Disponible dans Databricks Runtime 11,3 LTS et versions ultérieures. |
| Région résolue localement | N’importe quelle chaîne | L'Endpoint régional pour les Kinesis Data Streams. |
|
| Une chaîne d'octets telle que | 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. |
|
|
| Où start la lecture dans le Stream. Pour |
|
| Une chaîne de durée telle que | La durée de mise en mémoire tampon des données préchargées avant de les rendre disponibles pour le traitement. |
|
| 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 |
|
| 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. |
|
| Entiers positifs jusqu’à | Le nombre maximal de partitions à lire par appel d'API lors du listage des partitions. |
|
| Une chaîne de durée telle que | 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. |
| Région résolue localement | N’importe quelle chaîne | La région dans laquelle les Stream sont définis. |
| 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. |
| Aucun |
| Si les identifiants dans |
|
|
| Faut-il désenregistrer le consommateur fan-out amélioré à la fin de la query. Nécessite |
| Aucun | Une chaîne d'ARN | L'ARN d'un rôle IAM à assumer lors de l'accès à Kinesis. |
| Aucun | N’importe quelle chaîne | Un ID externe facultatif à utiliser lors de l'endossement du rôle spécifié par |
| 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. |
| 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. |
| Aucun | Une chaîne d'URL | Un Endpoint personnalisé pour AWS STS lors de l'attribution d'un rôle en utilisant |
|
| Une chaîne de durée telle que | L'intervalle auquel interroger Kinesis pour les événements de resharding. |
|
| Nombres entiers positifs. | Le nombre de partitions Kinesis à préextraire en parallèle par tâche Spark. Pour une latence minimale, assurez-vous que |
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 |
|---|---|---|---|
| Aucun | N’importe quelle chaîne | Obligatoire. L'ID d'abonnement Pub/Sub. Le connecteur crée l'abonnement s'il n'existe pas. |
| Aucun | N’importe quelle chaîne | Obligatoire. L'ID de sujet Pub/Sub. |
| Aucun | N’importe quelle chaîne | Obligatoire. L'ID du projet Google Cloud. |
| 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. |
| Aucun | Nombres entiers positifs. | Une limite souple sur le nombre d’octets à traiter par micro-batch. |
|
| Nombres entiers positifs. | Le nombre de lignes à récupérer par tâche avant le traitement. |
|
| Une chaîne de durée telle que | La durée pour chaque tâche à récupérer avant de traiter les lignes. Databricks recommande d'utiliser la valeur default. |
|
|
| Lorsque |
| 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. |
| 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. |
| Aucun | N’importe quelle chaîne | L'ID client du compte de service Google. Requis lorsque vous n'utilisez pas d'identifiant de service. |
| 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. |
| 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 |
|---|---|---|---|
| Aucun | Une chaîne d'URL de service Pulsar | Le |
| Aucun | N’importe quelle chaîne | Un nom de sujet unique à consommer. |
| 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. |
| 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 |
|---|---|---|---|
| Aucun | Une chaîne d'URL | L'URL HTTP du service d'administration Pulsar. Obligatoire lorsque |
|
|
| 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 |
|
|
| 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. |
| Aucun | Nombres entiers positifs. | Une limite souple sur le nombre d'octets à traiter par micro-batch. Requiert |
|
| Nombres entiers positifs. | Le délai d'attente pour la lecture des messages de Pulsar en millisecondes. |
| Aucun | N’importe quelle chaîne | Le nom d'abonnement prédéfini utilisé par le connecteur pour suivre la progression des Spark applications. |
|
|
| À partir d'où start la lecture. |
| 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. |
|
|
| 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 |
|---|---|
| |
| Configuration du client Pulsar, y compris les options d'authentification telles que |
|
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 |
|---|---|---|---|
| Aucun | Un nom de classe entièrement qualifié | Le nom de classe entièrement qualifié du plugin d'authentification. Par exemple, |
| Aucun | Une chaîne d'identifiants | Informations d'identification d'authentification transmises au plugin d'authentification sous forme de chaîne. Par exemple, |
|
|
| Lorsque |
| Aucun | N’importe quelle chaîne | Le format du fichier de magasin de confiance TLS. Par exemple, |
| 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 |
| 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 |
|---|---|---|---|
| Aucun | Un nom de classe entièrement qualifié | Le nom de classe entièrement qualifié du plugin d'authentification pour le client administrateur Pulsar. |
| Aucun | Une chaîne d'identifiants | Identifiants d'authentification pour le plug-in d'authentification client d'administration Pulsar. |
| Aucun |
| Faut-il utiliser TLS pour la connexion du client administrateur Pulsar. |
| Aucun |
| Autoriser ou non les connexions TLS non sécurisées pour le client administrateur Pulsar. |
| Aucun | Un chemin d'accès au fichier | Chemin d'accès au fichier de certificat TLS approuvé pour le client administrateur Pulsar. |
| Aucun |
| Utiliser le TLS basé sur KeyStore pour le client administrateur Pulsar. |
| Aucun | N’importe quelle chaîne | Le format du magasin de confiance TLS pour le client d’administration Pulsar. Par exemple, |
| 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 |
| 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
- Scala
df.write.format("delta").option("mergeSchema", True).saveAsTable("my_table")
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 |
|---|---|---|---|
| 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. |
| Aucun | Une chaîne d'URL | Une URL pointant vers un fichier de schéma Avro. Utiliser à la place de |
|
|
| Codec de compression à utiliser lors de l'écriture. S'applique à la lecture et écriture de fichiers Avro. |
|
| 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. |
|
|
| 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. |
| 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 |
|---|---|---|---|
|
|
| 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 |
| Aucun |
| 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. |
| Aucun |
| S'il faut remplacer le schéma de la table et le partitionnement lors de l'écrasement. Nécessite |
| Aucun |
| Le mode d'écrasement de partition. Définissez ceci sur |
| 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 |
| 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 |
| 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. |
| Aucun | N’importe quelle chaîne | Un alias de chaîne pour la table cible. Utilisez avec |
| Aucun | N’importe quelle chaîne | Une chaîne unique identifiant l'application pour les écritures idempotentes dans les |
| 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 |
| Aucun |
| Permet d'activer l'optimisation automatique d'écriture pour cette opération d'écriture. Remplace la configuration de |
| 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 |
CSV
Les options suivantes s'appliquent lors de l'écriture de fichiers CSV.
Clé | Par défaut | Valeurs valides | Description |
|---|---|---|---|
|
| 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). |
|
|
| Codec de compression à utiliser lors de l'écriture. S'applique à csv (DataFrameWriter). |
|
| Une chaîne de format de date | Chaîne de format pour les valeurs de colonne de date. S’applique à csv (DataFrameWriter). |
| Chaîne vide | N’importe quelle chaîne | La chaîne écrite pour les valeurs vides (non nulles). S'applique à csv (DataFrameWriter). |
|
| Nom de | L'encodage des caractères pour les fichiers de sortie. S'applique à csv (DataFrameWriter). |
|
| Un seul caractère | Le caractère utilisé pour échapper les valeurs entre guillemets. S'applique à csv (DataFrameWriter). |
|
|
| S'il faut échapper les caractères de guillemet à l'intérieur des valeurs de champ entre guillemets. S'applique à csv (DataFrameWriter). |
|
|
| S'il convient d'écrire les noms de colonnes comme première ligne de sortie. S'applique à csv (DataFrameWriter). |
|
|
| Indique s'il faut ignorer les espaces blancs en début de ligne des valeurs lors de l'écriture. S'applique à csv (DataFrameWriter). |
|
|
| Faut-il supprimer les espaces de fin des valeurs lors de l'écriture. S'applique à csv (DataFrameWriter). |
|
| Une chaîne | La chaîne de séparation de lignes utilisée entre les enregistrements. S'applique à csv (DataFrameWriter). |
|
| Un identifiant | Un identifiant |
| Chaîne vide | N’importe quelle chaîne | Chaîne écrite pour les valeurs nulles. S'applique à csv (DataFrameWriter). |
|
| Un seul caractère | Le caractère utilisé pour citer les valeurs de champ qui contiennent le séparateur. S'applique à csv (DataFrameWriter). |
|
|
| Indique s'il faut encadrer toutes les valeurs de champ entre guillemets, quel que soit le contenu. S'applique à csv (DataFrameWriter). |
|
| Une chaîne | Le caractère délimiteur de champ. S'applique à csv (DataFrameWriter). |
|
| Une chaîne de format Timestamp | La chaîne de format pour les valeurs de colonne de timestamp. S'applique à csv (DataFrameWriter). |
|
| Une chaîne de format Timestamp | Chaîne de format pour les valeurs de colonne de timestamp sans fuseau horaire ( |
Excel
Les options suivantes s'appliquent lors de l'écriture de fichiers Excel.
Clé | Par défaut | Valeurs valides | Description |
|---|---|---|---|
| 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 |
|
| Une chaîne de format de date Excel | Chaîne de format de cellule Excel appliquée à |
|
|
| Détermine s'il faut écrire les noms de colonne comme première ligne. |
|
| Une chaîne de format de Timestamp Excel | Chaîne de format de cellule Excel appliquée aux colonnes |
|
|
| 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 |
|---|---|---|---|
|
|
| Codec de compression à utiliser lors de l'écriture. S'applique à json (DataFrameWriter). |
|
| Une chaîne de format de date | Chaîne de format pour les valeurs de colonne de date. S'applique à json (DataFrameWriter). |
|
| Nom de | L'encodage des caractères pour les fichiers de sortie. S'applique à json (DataFrameWriter). |
| valeur de |
| S’il faut omettre les champs avec des valeurs nulles de la sortie JSON. S'applique à json (DataFrameWriter). |
|
| Une chaîne | La chaîne de séparation de lignes utilisée entre les enregistrements. S'applique à json (DataFrameWriter). |
|
| Un identifiant | Un identifiant de paramètres régionaux Java qui affecte l'analyse default des dates, timestamp et décimales dans le JSON. |
|
|
| Activer ou non la sortie JSON formatée (indentée, multiligne). |
|
|
| Faut-il trier les clés des objets JSON par ordre alphabétique dans la sortie. Utile pour produire une sortie déterministe. |
|
| Une chaîne de format Timestamp | La chaîne de format pour les valeurs de colonne de timestamp. S'applique à json (DataFrameWriter). |
|
| Une chaîne de format Timestamp | Chaîne de format pour les valeurs de colonne de timestamp sans fuseau horaire ( |
|
|
| Faut-il encoder les caractères non-ASCII sous forme de séquences d’échappement Unicode |
ORC
Les options suivantes s'appliquent lors de l'écriture de fichiers ORC.
Clé | Par défaut | Valeurs valides | Description |
|---|---|---|---|
|
|
| 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 |
|---|---|---|---|
|
|
| Codec de compression à utiliser lors de l'écriture. S'applique à Parquet (DataFrameWriter). |
|
|
| Le type physique utilisé pour encoder les colonnes de timestamp. Utilisez |
Texte
Les options suivantes s'appliquent lors de l'écriture de fichiers texte.
Clé | Par défaut | Valeurs valides | Description |
|---|---|---|---|
|
|
| Codec de compression à utiliser lors de l'écriture. S’applique au texte (DataFrameWriter). |
|
| Nom de | L'encodage de caractères des fichiers de sortie. |
|
| 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 |
|---|---|---|---|
|
| 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). |
|
| N’importe quelle chaîne | Le préfixe ajouté aux noms de champs qui correspondent aux attributs XML. S'applique à xml (DataFrameWriter). |
|
|
| Codec de compression à utiliser lors de l'écriture. S'applique à xml (DataFrameWriter). |
|
| Une chaîne de format de date | Chaîne de format pour les valeurs de colonne de date. S'applique à xml (DataFrameWriter). |
|
| 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). |
|
| Nom de | L'encodage des caractères pour les fichiers de sortie. S'applique à xml (DataFrameWriter). |
| 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. |
|
| Un identifiant | Un identifiant de locale Java qui affecte le formatage par default des dates, des Timestamp et des décimales dans le XML. |
|
| N’importe quelle chaîne | La chaîne écrite pour les valeurs nulles. Lorsque défini sur |
|
| 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). |
|
| N’importe quelle chaîne | La balise d'élément qui représente une ligne dans la sortie. S'applique à xml (DataFrameWriter). |
| 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). |
|
| Une chaîne de format Timestamp | La chaîne de format pour les valeurs de colonne de timestamp. S'applique à xml (DataFrameWriter). |
|
| Une chaîne de format Timestamp | Chaîne de format pour les valeurs de colonne de Timestamp sans fuseau horaire. S'applique à xml (DataFrameWriter). |
|
|
| 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). |
|
| 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
- Scala
(df.writeStream
.format("delta")
.option("checkpointLocation", "/path/to/checkpoint")
.start("/path/to/table"))
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 |
|---|---|---|---|
| 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. |
| 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 |
|---|---|---|---|
|
| Nombres entiers positifs. | Le nombre de lignes à afficher pour chaque micro-batch lors de l'écriture dans le récepteur console. |
|
|
| Indique s'il faut tronquer les chaînes longues lors de l'affichage des lignes. Définir sur |
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 |
|---|---|---|---|
|
|
| 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. |
| 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 |
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 |
|---|---|---|---|
| Aucun | Une chaîne de caractères temporelle telle que | 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 |
|---|---|---|---|
| Aucun | Une liste de | Obligatoire. Une liste d'adresses de brokers Kafka |
| Aucun | N’importe quelle chaîne | Le sujet Kafka cible pour toutes les lignes. Obligatoire si le DataFrame n'inclut pas de colonne |
| Aucun | Toute configuration de producteur Kafka précédée de |
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 |
|---|---|---|---|
| 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 |
|
|
| Garantie de livraison pour le récepteur de mémoire. |
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
- Scala
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"}))
import org.apache.spark.sql.functions.from_json
import org.apache.spark.sql.types._
val schema = StructType(Seq(StructField("name", StringType)))
val df = df.withColumn("parsed", from_json(col("json_col"), schema, Map("mode" -> "DROPMALFORMED")))
Avro
Les fonctions Avro acceptent les mêmes options que les options DataFrame correspondantes :
from_avroetschema_of_avroutilisez les options Avro de DataFrameReader.to_avroutilise les options Avro de DataFrameWriter.
Exemple
L’exemple suivant décode une colonne Avro avec l’évolution des schémas activée :
- Python
- Scala
from pyspark.sql.functions import from_avro
df = df.withColumn("decoded", from_avro("avro_col", json_schema, {"avroSchemaEvolutionMode": "restart"}))
import org.apache.spark.sql.avro.functions.from_avro
val df = df.withColumn("decoded", from_avro(col("avro_col"), jsonSchema, Map("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 |
|---|---|---|---|
| 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 |
| 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 |
CSV
Les fonctions CSV acceptent les mêmes options que les options correspondantes du DataFrame :
from_csvetschema_of_csvutiliser les options CSV de DataFrameReader.to_csvutilise les options CSV de DataFrameWriter.
Exemple
L'exemple suivant lit le CSV avec un séparateur personnalisé et une valeur NULL :
- Python
- Scala
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"}))
import org.apache.spark.sql.functions.from_csv
import org.apache.spark.sql.types._
val schema = StructType(Seq(StructField("id", IntegerType), StructField("name", StringType)))
val df = df.withColumn("parsed", from_csv(col("csv_col"), schema, Map("sep" -> "|", "nullValue" -> "N/A")))
JSON
Les fonctions JSON acceptent les mêmes options que les options DataFrame correspondantes :
from_jsonetschema_of_jsonutilisent les options JSON de DataFrameReader.to_jsonutilise les options JSON de DataFrameWriter.
Exemple
L’exemple suivant écrit du JSON avec NULL champs ignorés et une mise en forme agréable activée :
- Python
- Scala
from pyspark.sql.functions import to_json
df = df.withColumn("json_str", to_json("struct_col", {"pretty": "true", "ignoreNullFields": "true"}))
import org.apache.spark.sql.functions.to_json
val df = df.withColumn("json_str", to_json(col("struct_col"), Map("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
- Scala
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"}))
import org.apache.spark.sql.protobuf.functions.from_protobuf
val df = df.withColumn("decoded", from_protobuf(col("proto_col"), "MyMessage", "/path/to/descriptor.desc",
Map("mode" -> "PERMISSIVE", "enums.as.ints" -> "true")))
Les fonctions Protobuf utilisent les options suivantes :
Clé | Par défaut | Valeurs valides | Description |
|---|---|---|---|
|
|
| Comment gérer les enregistrements corrompus. |
|
|
| Profondeur de récursivité maximale pour les champs Protobuf récursifs. Définir sur |
|
|
| Faut-il convertir les champs Protobuf |
|
|
| S'il faut émettre des champs avec des valeurs nulles ou default (sémantique proto3). Lorsque |
|
|
| 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 à |
|
|
| Si vous devez convertir |
|
|
| Déballer ou non les types wrapper |
|
|
| 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 à |
| 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 |
| Aucun | Une chaîne de caractères | Adresse du Registre de schémas (hôte et port). Requis lors de l'utilisation des variantes du Registre de schémas de |
| Aucun | N’importe quelle chaîne | Spécifie quel message Protobuf utiliser lorsque le sujet du registre de schémas contient plusieurs messages. Facultatif. |
|
|
| 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. |
| — | Toute valeur d'option client valide pour Confluent Schema Registry | Transmettez toute option de client Confluent Schema Registry en utilisant le préfixe |
XML
Les fonctions XML acceptent les mêmes options que les options DataFrame correspondantes :
from_xmletschema_of_xmlutilisent les options XML de DataFrameReader.to_xmlutilise les options XML de DataFrameWriter.
Exemple
L'exemple suivant écrit du XML avec des balises racine et de ligne personnalisées :
- Python
- Scala
from pyspark.sql.functions import to_xml
df = df.withColumn("xml_str", to_xml("struct_col", {"rootTag": "records", "rowTag": "record"}))
import org.apache.spark.sql.functions.to_xml
val df = df.withColumn("xml_str", to_xml(col("struct_col"), Map("rootTag" -> "records", "rowTag" -> "record")))