Aller au contenu principal

Référence du connecteur Google Drive

Cette page contient la documentation de référence du connecteur Google Drive pour Databricks Lakeflow Connect.

gdrive_options paramètres

Définissez ces options à l'intérieur du bloc connector_options.gdrive_options de chaque table dans votre définition de pipeline.

parameter

Type

Obligatoire

Description

entity_type

Chaîne

Oui

Le type d’entité à ingérer. Valeurs prises en charge :

  • FILE: Ingérer le contenu du fichier et les métadonnées.
  • FILE_METADATA: Ingestion de métadonnées uniquement, sans download du contenu des fichiers.

url

Chaîne

Oui

L'URL du dossier Google Drive ou du lecteur partagé à partir duquel ingérer. Exemples :

  • https://drive.google.com/drive/folders/<folder_id>
  • Une URL de lecteur partagé

file_ingestion_options

Objet

Oui

Contrôle le format des fichiers et le comportement d’ingestion. Voir les file_ingestion_options parameters.

parameter

Type

Obligatoire

Description

entity_type

Chaîne

Oui

Le type d’entité à ingérer. Valeurs prises en charge :

  • FILE: Ingérer le contenu du fichier et les métadonnées.
  • FILE_METADATA: Ingestion de métadonnées uniquement, sans download du contenu des fichiers.

url

Chaîne

Oui

L'URL du dossier Google Drive ou du lecteur partagé à partir duquel ingérer. Exemples :

  • https://drive.google.com/drive/folders/<folder_id>
  • Une URL de lecteur partagé

file_ingestion_options

Objet

Oui

Contrôle le format des fichiers et le comportement d’ingestion. Voir les file_ingestion_options parameters.

file_ingestion_options paramètres

Définissez ces options à l'intérieur de gdrive_options.file_ingestion_options.

parameter

Type

Obligatoire

Description

format

Chaîne

Oui

Le format de fichier à ingérer. Valeurs prises en charge : BINARYFILE, CSV, JSON, XML, EXCEL, PARQUET, AVRO, ORC. Utilisez BINARYFILE pour l'ingestion non structurée (PDF, fichiers Office, images). Utilisez un format structuré pour analyser le contenu des fichiers en lignes.

file_filters

Tableau d’objets

Non

Filtres qui limitent les fichiers ingérés. Chaque objet de filtre peut contenir l'une des clés suivantes :

  • path_filter (chaîne) : Un modèle global mis en correspondance avec des chemins d'accès aux fichiers. Basé sur le filtre glob de chemin Spark.
  • modified_before (chaîne) : Un Timestamp au format YYYY-MM-DDTHH:mm:ss. Seuls les fichiers modifiés avant cette heure sont ingérés.
  • modified_after (chaîne) : Un Timestamp au format YYYY-MM-DDTHH:mm:ss. Seuls les fichiers modifiés après cette heure sont ingérés.

schema_evolution_mode

Chaîne

Non

Contrôle la façon dont les nouvelles colonnes dans les fichiers entrants sont gérées. Les modes correspondent aux modes d'évolution des schémas d'Auto Loader. Valeurs prises en charge : ADD_NEW_COLUMNS_WITH_TYPE_WIDENING (default), ADD_NEW_COLUMNS, RESCUE, FAIL_ON_NEW_COLUMNS, NONE.

schema_hints

Chaîne

Non

Remplace les types de colonnes inférés. Spécifiez sous forme de liste de paires column_name TYPE séparées par des virgules, par exemple order_id INT, amount DOUBLE. Consultez Remplacer l'inférence de schéma par des indications de schéma.

format_options

Objet

Non

Options d'analyse spécifiques au format. Les clés sont des noms d'option de format standard Auto Loader. Voir les options de format.

parameter

Type

Obligatoire

Description

format

Chaîne

Oui

Le format de fichier à ingérer. Valeurs prises en charge : BINARYFILE, CSV, JSON, XML, EXCEL, PARQUET, AVRO, ORC. Utilisez BINARYFILE pour l'ingestion non structurée (PDF, fichiers Office, images). Utilisez un format structuré pour analyser le contenu des fichiers en lignes.

file_filters

Tableau d’objets

Non

Filtres qui limitent les fichiers ingérés. Chaque objet de filtre peut contenir l'une des clés suivantes :

  • path_filter (chaîne) : Un modèle global mis en correspondance avec des chemins d'accès aux fichiers. Basé sur le filtre glob de chemin Spark.
  • modified_before (chaîne) : Un Timestamp au format YYYY-MM-DDTHH:mm:ss. Seuls les fichiers modifiés avant cette heure sont ingérés.
  • modified_after (chaîne) : Un Timestamp au format YYYY-MM-DDTHH:mm:ss. Seuls les fichiers modifiés après cette heure sont ingérés.

schema_evolution_mode

Chaîne

Non

Contrôle la façon dont les nouvelles colonnes dans les fichiers entrants sont gérées. Les modes correspondent aux modes d'évolution des schémas d'Auto Loader. Valeurs prises en charge : ADD_NEW_COLUMNS_WITH_TYPE_WIDENING (default), ADD_NEW_COLUMNS, RESCUE, FAIL_ON_NEW_COLUMNS, NONE.

schema_hints

Chaîne

Non

Remplace les types de colonnes inférés. Spécifiez sous forme de liste de paires column_name TYPE séparées par des virgules, par exemple order_id INT, amount DOUBLE. Consultez Remplacer l'inférence de schéma par des indications de schéma.

format_options

Objet

Non

Options d'analyse spécifiques au format. Les clés sont des noms d'option de format standard Auto Loader. Voir les options de format.

table_configuration paramètres

Définissez ces options dans le bloc table_configuration de chaque table de votre définition de pipeline. table_configuration est un frère de connector_options, et non imbriqué à l'intérieur.

parameter

Type

Obligatoire

Description

storage_mode

Chaîne

Non

Le mode de stockage pour la table de destination. Valeurs prises en charge :

  • SCD_TYPE_1 (default pour BINARYFILE) : Écrase les enregistrements lorsque les fichiers sont modifiés ou supprimés.
  • APPEND_ONLY (default pour les formats structurés) : Ajoute de nouvelles lignes à partir de fichiers nouveaux ou mis à jour.

Puisqu'il s'agit des valeurs default et des seules valeurs prises en charge, la définition explicite de storage_mode est facultative. N'utilisez pas le champ scd_type — cela génère une erreur.

parameter

Type

Obligatoire

Description

storage_mode

Chaîne

Non

Le mode de stockage pour la table de destination. Valeurs prises en charge :

  • SCD_TYPE_1 (default pour BINARYFILE) : Écrase les enregistrements lorsque les fichiers sont modifiés ou supprimés.
  • APPEND_ONLY (default pour les formats structurés) : Ajoute de nouvelles lignes à partir de fichiers nouveaux ou mis à jour.

Puisqu'il s'agit des valeurs default et des seules valeurs prises en charge, la définition explicite de storage_mode est facultative. N'utilisez pas le champ scd_type — cela génère une erreur.

Options de format

Le bloc format_options accepte les clés d'option de format standard d'Auto Loader, organisées ci-dessous par format de fichier. Pour plus de détails, consultez Auto Loader.

JSON

Clé

Description

allowBackslashEscapingAnyCharacter

Permet aux barres obliques inverses d'échapper à n'importe quel caractère.

allowComments

Permet les commentaires de style Java et C++ dans le contenu JSON.

allowNonNumericNumbers

Autorise NaN et Infinity comme valeurs à virgule flottante valides.

allowNumericLeadingZeros

Permet les zéros non significatifs dans les valeurs entières.

allowSingleQuotes

Autorise les guillemets simples comme délimiteurs de chaîne en plus des guillemets doubles.

allowUnquotedControlChars

Autorise les caractères de contrôle non cités dans les chaînes JSON.

allowUnquotedFieldNames

Autorise les noms de champ non cités.

badRecordsPath

Chemin d’accès pour stocker les enregistrements corrompus ou non analysables au lieu de faire échouer le pipeline.

charset / encoding

Encodage des caractères du fichier (par exemple, UTF-8, ISO-8859-1).

dateFormat

Modèle pour l'analyse des chaînes de date (par exemple, yyyy-MM-dd).

dropFieldIfAllNull

Ignore les colonnes où toutes les valeurs sont nulles ou vides lors de l'inférence de schéma.

inferTimestamp

Déduit TimestampType pour les chaînes qui correspondent à un modèle de Timestamp.

lineSep

Caractère ou chaîne de séparateur de ligne.

locale

Paramètres régionaux pour l'analyse des dates et des nombres (par exemple, en-US).

mode

Comportement pour les enregistrements mal formés : PERMISSIVE (default), DROPMALFORMED, ou FAILFAST.

multiLine

Analyse les enregistrements qui s'étendent sur plusieurs lignes.

prefersDecimal

Déduit DecimalType au lieu de FloatType ou DoubleType lorsque cela est possible.

primitivesAsString

Déduit toutes les valeurs primitives comme StringType.

readerCaseSensitive

Permet la correspondance des noms de colonne sensible à la casse par rapport au schéma.

timestampFormat

Modèle pour l'analyse des chaînes de Timestamp (par exemple, yyyy-MM-dd'T'HH:mm:ss).

timeZone

Fuseau horaire pour l'analyse des Timestamp (par exemple, UTC, America/New_York).

Clé

Description

allowBackslashEscapingAnyCharacter

Permet aux barres obliques inverses d'échapper à n'importe quel caractère.

allowComments

Permet les commentaires de style Java et C++ dans le contenu JSON.

allowNonNumericNumbers

Autorise NaN et Infinity comme valeurs à virgule flottante valides.

allowNumericLeadingZeros

Permet les zéros non significatifs dans les valeurs entières.

allowSingleQuotes

Autorise les guillemets simples comme délimiteurs de chaîne en plus des guillemets doubles.

allowUnquotedControlChars

Autorise les caractères de contrôle non cités dans les chaînes JSON.

allowUnquotedFieldNames

Autorise les noms de champ non cités.

badRecordsPath

Chemin d’accès pour stocker les enregistrements corrompus ou non analysables au lieu de faire échouer le pipeline.

charset / encoding

Encodage des caractères du fichier (par exemple, UTF-8, ISO-8859-1).

dateFormat

Modèle pour l'analyse des chaînes de date (par exemple, yyyy-MM-dd).

dropFieldIfAllNull

Ignore les colonnes où toutes les valeurs sont nulles ou vides lors de l'inférence de schéma.

inferTimestamp

Déduit TimestampType pour les chaînes qui correspondent à un modèle de Timestamp.

lineSep

Caractère ou chaîne de séparateur de ligne.

locale

Paramètres régionaux pour l'analyse des dates et des nombres (par exemple, en-US).

mode

Comportement pour les enregistrements mal formés : PERMISSIVE (default), DROPMALFORMED, ou FAILFAST.

multiLine

Analyse les enregistrements qui s'étendent sur plusieurs lignes.

prefersDecimal

Déduit DecimalType au lieu de FloatType ou DoubleType lorsque cela est possible.

primitivesAsString

Déduit toutes les valeurs primitives comme StringType.

readerCaseSensitive

Permet la correspondance des noms de colonne sensible à la casse par rapport au schéma.

timestampFormat

Modèle pour l'analyse des chaînes de Timestamp (par exemple, yyyy-MM-dd'T'HH:mm:ss).

timeZone

Fuseau horaire pour l'analyse des Timestamp (par exemple, UTC, America/New_York).

CSV

Prend en charge toutes les options JSON ci-dessus, plus les options spécifiques aux fichiers CSV suivantes :

Clé

Description

charToEscapeQuoteEscaping

Caractère d'échappement utilisé avant un caractère de guillemet à l'intérieur d'un champ entre guillemets.

comment

Caractère qui marque une ligne comme un commentaire ; les lignes commençant par ce caractère sont ignorées.

delimiter / sep

Caractère délimiteur de colonne (default : ,).

emptyValue

Chaîne à utiliser pour les valeurs vides lors de l'écriture.

enforceSchema

Applique le schéma déclaré aux données CSV, en ignorant les noms d'en-tête.

escape

Caractère d'échappement (default : \).

header

Indique si la première ligne contient des noms de colonne (default : false).

ignoreLeadingWhiteSpace

Supprime les espaces blancs en début de ligne des valeurs.

ignoreTrailingWhiteSpace

Supprime les espaces de fin des valeurs.

maxCharsPerColumn

Nombre maximum de caractères autorisé par valeur de colonne.

maxColumns

Nombre maximal de colonnes autorisées dans un enregistrement.

mergeSchema

Merge le schéma de plusieurs fichiers CSV.

nanValue

Représentation sous forme de chaîne de NaN.

negativeInf

Représentation sous forme de chaîne de l'infini négatif.

nullValue

Chaîne qui représente une valeur nulle.

parserCaseSensitive

Permet la mise en correspondance sensible à la casse entre les noms d'en-têtes et les noms de champs de schéma.

positiveInf

Représentation sous forme de chaîne de l'infini positif.

preferDate

Déduit DateType pour les chaînes de type date au lieu de TimestampType.

quote

Caractère de citation utilisé pour encadrer les valeurs de champ qui contiennent le délimiteur (default : ").

skipRows

Nombre de lignes à ignorer au début du fichier avant l'en-tête ou les données.

unescapedQuoteHandling

Comment gérer les caractères de guillemets non échappés dans les champs entre guillemets.

Clé

Description

charToEscapeQuoteEscaping

Caractère d'échappement utilisé avant un caractère de guillemet à l'intérieur d'un champ entre guillemets.

comment

Caractère qui marque une ligne comme un commentaire ; les lignes commençant par ce caractère sont ignorées.

delimiter / sep

Caractère délimiteur de colonne (default : ,).

emptyValue

Chaîne à utiliser pour les valeurs vides lors de l'écriture.

enforceSchema

Applique le schéma déclaré aux données CSV, en ignorant les noms d'en-tête.

escape

Caractère d'échappement (default : \).

header

Indique si la première ligne contient des noms de colonne (default : false).

ignoreLeadingWhiteSpace

Supprime les espaces blancs en début de ligne des valeurs.

ignoreTrailingWhiteSpace

Supprime les espaces de fin des valeurs.

maxCharsPerColumn

Nombre maximum de caractères autorisé par valeur de colonne.

maxColumns

Nombre maximal de colonnes autorisées dans un enregistrement.

mergeSchema

Merge le schéma de plusieurs fichiers CSV.

nanValue

Représentation sous forme de chaîne de NaN.

negativeInf

Représentation sous forme de chaîne de l'infini négatif.

nullValue

Chaîne qui représente une valeur nulle.

parserCaseSensitive

Permet la mise en correspondance sensible à la casse entre les noms d'en-têtes et les noms de champs de schéma.

positiveInf

Représentation sous forme de chaîne de l'infini positif.

preferDate

Déduit DateType pour les chaînes de type date au lieu de TimestampType.

quote

Caractère de citation utilisé pour encadrer les valeurs de champ qui contiennent le délimiteur (default : ").

skipRows

Nombre de lignes à ignorer au début du fichier avant l'en-tête ou les données.

unescapedQuoteHandling

Comment gérer les caractères de guillemets non échappés dans les champs entre guillemets.

XML

Clé

Description

arrayElementName

Nom de l’élément XML qui enveloppe chaque élément de tableau lors de l’écriture.

attributePrefix

Préfixe ajouté aux noms d'attributs XML pour les distinguer des noms d'éléments (default : _).

compression

Codec de compression pour la lecture (par exemple, gzip, bzip2).

declaration

Chaîne de déclaration XML à ajouter au début lors de l'écriture.

encoding

Encodage des caractères du fichier XML.

excludeAttribute

Exclure les attributs d'éléments XML de l'analyse.

ignoreSurroundingSpaces

Ignore les espaces blancs autour des valeurs d'éléments.

ignoreNamespace

Ignore les préfixes d'espace de noms XML lors de l'analyse.

locale

Paramètres régionaux pour l'analyse des dates et des nombres.

mode

Comportement pour les enregistrements mal formés : PERMISSIVE, DROPMALFORMED ou FAILFAST.

nullValue

Chaîne qui représente une valeur nulle.

rootTag

Nom du tag de l'élément racine.

rowTag

Balise d'élément XML qui identifie chaque ligne (obligatoire).

rowValidationXSDPath

Chemin d’accès à un fichier de schéma XSD pour valider chaque élément de ligne.

samplingRatio

Fraction des lignes utilisées pour l'inférence de schéma (default : 1.0).

timestampFormat

Modèle pour l'analyse des chaînes de timestamp.

timestampNTZFormat

Modèle pour l'analyse des chaînes Timestamp sans fuseau horaire.

timeZone

Fuseau horaire pour l'analyse des Timestamp.

validateName

Valide que les noms d’éléments XML sont conformes à la spécification XML.

valueTag

Nom de la balise utilisé pour les valeurs de texte dans les éléments qui ont également des attributs (default : _VALUE).

Clé

Description

arrayElementName

Nom de l’élément XML qui enveloppe chaque élément de tableau lors de l’écriture.

attributePrefix

Préfixe ajouté aux noms d'attributs XML pour les distinguer des noms d'éléments (default : _).

compression

Codec de compression pour la lecture (par exemple, gzip, bzip2).

declaration

Chaîne de déclaration XML à ajouter au début lors de l'écriture.

encoding

Encodage des caractères du fichier XML.

excludeAttribute

Exclure les attributs d'éléments XML de l'analyse.

ignoreSurroundingSpaces

Ignore les espaces blancs autour des valeurs d'éléments.

ignoreNamespace

Ignore les préfixes d'espace de noms XML lors de l'analyse.

locale

Paramètres régionaux pour l'analyse des dates et des nombres.

mode

Comportement pour les enregistrements mal formés : PERMISSIVE, DROPMALFORMED ou FAILFAST.

nullValue

Chaîne qui représente une valeur nulle.

rootTag

Nom du tag de l'élément racine.

rowTag

Balise d'élément XML qui identifie chaque ligne (obligatoire).

rowValidationXSDPath

Chemin d’accès à un fichier de schéma XSD pour valider chaque élément de ligne.

samplingRatio

Fraction des lignes utilisées pour l'inférence de schéma (default : 1.0).

timestampFormat

Modèle pour l'analyse des chaînes de timestamp.

timestampNTZFormat

Modèle pour l'analyse des chaînes Timestamp sans fuseau horaire.

timeZone

Fuseau horaire pour l'analyse des Timestamp.

validateName

Valide que les noms d’éléments XML sont conformes à la spécification XML.

valueTag

Nom de la balise utilisé pour les valeurs de texte dans les éléments qui ont également des attributs (default : _VALUE).

Parquet

Clé

Description

datetimeRebaseMode

Gestion des dates et des Timestamp rédigés au format de calendrier julien : EXCEPTION, CORRECTED ou LEGACY.

int96RebaseMode

Gestion des Timestamp INT96 écrits au format de calendrier julien : EXCEPTION, CORRECTED, ou LEGACY.

mergeSchema

Merge le schéma de plusieurs fichiers Parquet.

Clé

Description

datetimeRebaseMode

Gestion des dates et des Timestamp rédigés au format de calendrier julien : EXCEPTION, CORRECTED ou LEGACY.

int96RebaseMode

Gestion des Timestamp INT96 écrits au format de calendrier julien : EXCEPTION, CORRECTED, ou LEGACY.

mergeSchema

Merge le schéma de plusieurs fichiers Parquet.

Avro

Clé

Description

avroSchema

Schéma Avro au format de chaîne JSON. Permet d'appliquer un schéma spécifique lors des lectures.

datetimeRebaseMode

Gestion des dates et des Timestamp rédigés au format de calendrier julien : EXCEPTION, CORRECTED ou LEGACY.

mergeSchema

Fusionne le schéma sur plusieurs fichiers Avro.

Clé

Description

avroSchema

Schéma Avro au format de chaîne JSON. Permet d'appliquer un schéma spécifique lors des lectures.

datetimeRebaseMode

Gestion des dates et des Timestamp rédigés au format de calendrier julien : EXCEPTION, CORRECTED ou LEGACY.

mergeSchema

Fusionne le schéma sur plusieurs fichiers Avro.

Format des données ingérées

Le schéma de la table de destination dépend de entity_type et format que vous configurez.

Type d’entité BINARYFILE (FILE)

Lorsque entity_type est FILE et format est BINARYFILE, chaque fichier ingéré devient une ligne avec les colonnes suivantes :

Champ

Type

Description

path

string

Le chemin du fichier.

modificationTime

timestamp

L'heure de la dernière modification du fichier.

length

bigint

La taille du fichier en octets.

content

binary

Le contenu du fichier.

_file_id

string

L'identifiant Google Drive du fichier.

_gdrive_metadata

struct

Contient les métadonnées spécifiques à Google Drive pour le fichier :

  • id (string) : L'identifiant Google Drive du fichier.
  • drive_id (string) : L'identifiant Google Drive du lecteur partagé. Nul pour les fichiers de Mon Drive.
  • parent_id (string) : L'identifiant du dossier parent.
  • web_url (string) : un Link vers le fichier dans Google Drive.
  • mime_type (string) : Le type MIME du fichier.
  • md5_checksum (string) : La somme de contrôle MD5 du contenu du fichier.
  • version (string) : La version du fichier.
  • created_timestamp (timestamp) : l'heure de création du fichier dans Google Drive.
  • last_modified_by_email (string) : L'adresse e-mail du dernier utilisateur qui a modifié le fichier. Peut être nul si non disponible.
  • last_modified_by_name (string) : le nom du dernier utilisateur ayant modifié le fichier. Peut être nul si non disponible.
  • shared (boolean) : Indique si le fichier est partagé.
  • properties (variant) : propriétés de fichier personnalisées.
  • additional_metadata (variant) : Métadonnées supplémentaires du fichier.

_file_metadata

struct

Métadonnées de fichier standard ajoutées par Databricks pendant l'ingestion :

  • file_path (string) : Le chemin source du fichier.
  • file_name (string) : Le nom du fichier.
  • file_size (bigint) : la taille du fichier en octets.
  • file_block_start (bigint) : Le décalage d'octets de start du bloc de fichier.
  • file_block_length (bigint) : La longueur du bloc de fichiers en octets.
  • file_modification_time (timestamp) : L'heure de la dernière modification du fichier.

Champ

Type

Description

path

string

Le chemin du fichier.

modificationTime

timestamp

L'heure de la dernière modification du fichier.

length

bigint

La taille du fichier en octets.

content

binary

Le contenu du fichier.

_file_id

string

L'identifiant Google Drive du fichier.

_gdrive_metadata

struct

Contient les métadonnées spécifiques à Google Drive pour le fichier :

  • id (string) : L'identifiant Google Drive du fichier.
  • drive_id (string) : L'identifiant Google Drive du lecteur partagé. Nul pour les fichiers de Mon Drive.
  • parent_id (string) : L'identifiant du dossier parent.
  • web_url (string) : un Link vers le fichier dans Google Drive.
  • mime_type (string) : Le type MIME du fichier.
  • md5_checksum (string) : La somme de contrôle MD5 du contenu du fichier.
  • version (string) : La version du fichier.
  • created_timestamp (timestamp) : l'heure de création du fichier dans Google Drive.
  • last_modified_by_email (string) : L'adresse e-mail du dernier utilisateur qui a modifié le fichier. Peut être nul si non disponible.
  • last_modified_by_name (string) : le nom du dernier utilisateur ayant modifié le fichier. Peut être nul si non disponible.
  • shared (boolean) : Indique si le fichier est partagé.
  • properties (variant) : propriétés de fichier personnalisées.
  • additional_metadata (variant) : Métadonnées supplémentaires du fichier.

_file_metadata

struct

Métadonnées de fichier standard ajoutées par Databricks pendant l'ingestion :

  • file_path (string) : Le chemin source du fichier.
  • file_name (string) : Le nom du fichier.
  • file_size (bigint) : la taille du fichier en octets.
  • file_block_start (bigint) : Le décalage d'octets de start du bloc de fichier.
  • file_block_length (bigint) : La longueur du bloc de fichiers en octets.
  • file_modification_time (timestamp) : L'heure de la dernière modification du fichier.

Type d'entité structurée (FICHIER avec format structuré)

Lorsque entity_type est FILE et que format est un format structuré (CSV, JSON, XML, EXCEL, PARQUET, AVRO, ou ORC), le schéma de la table de destination correspond au schéma des fichiers source. Les colonnes sont déduites du contenu du fichier, sous réserve des paramètres schema_evolution_mode et schema_hints.

type d'entité FILE_METADATA

Lorsque entity_type est FILE_METADATA, le contenu du fichier n'est pas download. La table de destination contient uniquement les colonnes de métadonnées des structs _gdrive_metadata et _file_metadata décrits ci-dessus, plus _file_id.