Aller au contenu principal

Ingérer des fichiers depuis Google Drive

info

Bêta

Cette fonctionnalité est en Bêta. Les administrateurs du Workspace peuvent contrôler l'accès à cette fonctionnalité à partir de la page Previews . Consultez Gérer les aperçus Databricks.

:::note Conformité

Le connecteur Google Drive prend en charge l'utilisation dans les Workspace avec les paramètres de sécurité et de conformité améliorés activés.

:::

Le connecteur Google Drive standard dans Lakeflow Connect vous permet d'utiliser les fonctions Databricks Spark et SQL (read_files, spark.read, COPY INTO, et Auto Loader) pour créer des DataFrames Spark, des vues matérialisées et des tables de streaming directement à partir de fichiers dans Google Drive.

Avec cette approche, vous pouvez créer des pipelines personnalisés pour les cas d'utilisation courants d'ingestion de fichiers :

  • Ingestion de fichiers en streaming (non structurés) : Ingérer de nombreux fichiers sources (par exemple, des PDF, des Google Docs et des Google Slides) dans une seule table cible en tant que données binaires, idéal pour les pipelines RAG.
  • Ingestion de fichiers en streaming (structuré) : Fusionner de nombreux fichiers sources (par exemple, des fichiers CSV et JSON) en une seule table cible structurée.
  • Ingestion de fichiers par batch : ingestion d’un fichier unique et spécifique (comme une Google Sheet) ou d’un batch de fichiers dans une seule table cible.

Ces interfaces sont prises en charge :

  • Declarative Automation Bundles
  • APIs Databricks
  • SDK Databricks
  • Databricks CLI

Choisissez votre connecteur Google Drive

Lakeflow Connect propose deux connecteurs Google Drive. Ils accèdent tous deux aux données dans Google Drive, mais diffèrent dans leur niveau de gestion.

Connecteur

Description

Connecteur Google Drive géré

Un connecteur entièrement managé. Connecteur simple et à faible maintenance pour les applications d'entreprise qui ingère des données dans les tables Delta et les maintient synchronisées avec la source.

Connecteur Google Drive standard

Créez des pipelines d'ingestion personnalisés avec SQL, PySpark ou des LakeFlow Pipelines utilisant des APIs batch et de streaming, tels que read_files, spark.read, COPY INTO et Auto Loader. Offre la flexibilité d'effectuer des transformations complexes pendant l'ingestion, tout en vous donnant une plus grande responsabilité dans la gestion et la maintenance de vos pipelines.

Connecteur

Description

Connecteur Google Drive géré

Un connecteur entièrement managé. Connecteur simple et à faible maintenance pour les applications d'entreprise qui ingère des données dans les tables Delta et les maintient synchronisées avec la source.

Connecteur Google Drive standard

Créez des pipelines d'ingestion personnalisés avec SQL, PySpark ou des LakeFlow Pipelines utilisant des APIs batch et de streaming, tels que read_files, spark.read, COPY INTO et Auto Loader. Offre la flexibilité d'effectuer des transformations complexes pendant l'ingestion, tout en vous donnant une plus grande responsabilité dans la gestion et la maintenance de vos pipelines.

astuce

Databricks recommande le connecteur Google Drive géré pour la plupart des cas d'utilisation. Elle offre une expérience entièrement managée avec une ingestion incrémentielle automatique, une prise en charge étendue des formats et une sélection flexible des fichiers et des dossiers.

Limitations

  • Le connecteur est uniquement basé sur l'API et ne prend pas en charge la création de pipeline dans l'interface utilisateur Databricks.
  • Vous pouvez utiliser l'option pathGlobFilter pour filtrer les fichiers par nom (par exemple, pathGlobFilter => '*.csv'). Les formats Google intégrés (par exemple, Google Docs ou Google Sheets) ne peuvent pas être filtrés à l'aide de cette option. Le filtrage par chemin de dossier n'est pas non plus pris en charge.
  • Les formats non pris en charge incluent Google Forms, Google Sites, Google Jams et Google Vids. Le processus d'ingestion ignore les formats non pris en charge.
  • Le paramètre recursiveFileLookup=false n'est pas pris en charge pour les lectures batch Spark. L'utilisation de recursiveFileLookup=false se comportera de la même manière que recursiveFileLookup=true.

Exigences

Avant de commencer, vérifiez que vous disposez de :

  • Un Workspace compatible avec Unity Catalog.

  • CREATE CONNECTION privilèges pour créer une connexion Google Drive ou le privilège approprié pour utiliser une connexion existante basée sur votre mode d'accès au cluster:

    • Mode d’accès dédié : MANAGE CONNECTION.
    • Mode d'accès standard : USE CONNECTION.
  • Databricks Runtime 17.3 ou une version ultérieure.

  • La fonctionnalité Bêta du format de fichier Excel est activée si vous souhaitez ingérer des fichiers Google Sheets ou Excel. Consultez Lire et Stream des fichiers Excel.

  • Un compte Google disposant des autorisations nécessaires pour créer un projet Google Cloud.

Configurer OAuth 2.0

Configurez un projet Google Cloud et activez l'API Google Drive

  1. Accédez à la console Google Cloud.
  2. Créez un nouveau projet. Il peut vous être demandé de configurer l'authentification à deux facteurs.
  3. Accédez à APIs & Services > Bibliothèque .
  4. Recherchez « Google Drive API ».
  5. Sélectionner Google Drive API .
  6. Sélectionnez **Activer**.

Configure l'écran de consentement OAuth pour votre projet

  1. Sur l'écran d'accueil de la console Google Cloud, accédez à APIs & Services > Écran de consentement OAuth . Vous verrez un message qui dit « Google Auth Platform not configured yet ».
  2. Sélectionnez start .
  3. Remplissez la section Informations sur l'application . Saisissez un nom quelconque pour le nom de l'application (par exemple, Databricks connection). L'e-mail d'assistance peut être n'importe quel e-mail de votre organisation.
  4. Sélectionnez **Suivant**.
  5. Dans la section **Audience**, sélectionnez **External**, puis sélectionnez **Next**.
  6. Remplissez la section Informations de contact , puis sélectionnez Suivant .
  7. Consultez la Politique d'utilisation des données des utilisateurs des services Google API, puis sélectionnez **Créer**.
  8. Retournez à Google Auth Platform > Data Access.
  9. Sélectionnez Ajouter ou supprimer des champs d'application .
  10. Ajoutez le périmètre suivant dans la section Ajouter manuellement des périmètres , sélectionnez Ajouter à la table , puis sélectionnez Mettre à jour : https://www.googleapis.com/auth/drive.readonly
  11. Sélectionnez Enregistrer .

Créer des identifiants client OAuth 2.0

  1. Sur l'écran d'accueil de la console Google Cloud, allez à APIs & Services > Credentials .
  2. Sélectionnez Créer des informations d'identification > ID client OAuth .
  3. Choisissez Application Web et définissez un nom personnalisé.
  4. Dans **URI de redirection autorisées**, sélectionnez **Ajouter un URI**.
  5. Ajoutez un URI de redirection à <databricks-instance-url>/login/oauth/google.html, en remplaçant <databricks-instance-url> par l'URL de votre instance Databricks. Par exemple : https://instance-name.databricks.com/login/oauth/google.html
  6. Sélectionnez **Créer**. Une boîte de dialogue contenant vos identifiants apparaît.
  7. Enregistrez les valeurs suivantes. Vous pouvez également download le fichier JSON du client OAuth, qui contient ces informations :
    • ID client (format : 0123******-********************************.apps.googleusercontent.com)
    • Secret client (format : ABCD**-****************************)

Ajoutez des utilisateurs de test à votre projet.

  1. Accédez à Google Auth Platform > Audience .
  2. Sous **Utilisateurs de test**, sélectionnez **Ajouter des utilisateurs**.
  3. Ajoutez l'adresse e-mail du compte Google que vous utiliserez pour créer la connexion.

Créer une connexion

  1. Dans l’espace de travail Databricks, sélectionnez Catalogue > Emplacements externes > Connexions > Créer une connexion .

  2. Sur la page Principes de base de la connexion de l'assistant de configuration de la connexion , spécifiez un nom de connexion unique.

  3. Dans le menu déroulant Type de connexion , recherchez et sélectionnez Google Drive .

  4. Ajouter un commentaire (facultatif).

  5. Sélectionnez **Suivant**.

  6. Sur la page Authentification , saisissez les informations suivantes :

  7. Sélectionnez **Connectez-vous avec Google** et connectez-vous avec le compte Google de Ajouter des utilisateurs de test à votre projet.

  8. Sélectionnez Continuer , puis sélectionnez de nouveau Continuer .

  9. Après avoir été redirigé vers le workspace Databricks, sélectionnez Créer une connexion .

Ingérer des fichiers depuis Google Drive.

Ingérer des fichiers depuis Google Drive à l'aide du connecteur et read_files (Databricks SQL), Auto Loader (.readStream avec cloudFiles), COPY INTO, et spark.read. Vous devez fournir les valeurs suivantes :

  • L'URL Google Drive comme chemin.
  • La connexion Unity Catalog utilisant l'option de source de données databricks.connection.
  • L'URL de la ressource Google Drive à laquelle vous souhaitez accéder. L'URL peut faire référence à un fichier spécifique, à un dossier ou à un lecteur entier. Par exemple :
    • https://docs.google.com/spreadsheets/d/12345/edit?random_query_params_here
    • https://drive.google.com/drive/u/0/folders/12345
    • https://docs.google.com/document/d/12345/edit
    • https://drive.google.com/file/d/1kiXnHmU4Y8X66ijULky5EPDNCGtT14Ps/view?usp=drive_link
    • https://drive.google.com/drive/
    • https://drive.google.com/drive/my-drive
    • https://drive.google.com/

Stream Google Drive files using Auto Loader

Auto Loader est le moyen le plus efficace d'ingérer de manière incrémentielle des fichiers structurés à partir de Google Drive. Il détecte automatiquement les nouveaux fichiers et les traite à mesure qu'ils arrivent. Il peut également ingérer des fichiers structurés et semi-structurés tels que CSV et JSON avec inférence et évolution automatiques du schéma. Pour plus de détails sur l'utilisation d'Auto Loader, consultez les modèles courants de chargement de données.

Python
# Incrementally ingest new PDF files
df = (spark.readStream.format("cloudFiles")
.option("cloudFiles.format", "binaryFile")
.option("databricks.connection", "my_gdrive_conn")
.option("cloudFiles.schemaLocation", <path to a schema location>)
.option("pathGlobFilter", "*.pdf")
.load("https://drive.google.com/drive/folders/1a2b3c4d...")
.select("*", "_metadata")
)

# Incrementally ingest CSV files with automatic schema inference and evolution
df = (spark.readStream.format("cloudFiles")
.option("cloudFiles.format", "csv")
.option("databricks.connection", "my_gdrive_conn")
.option("pathGlobFilter", "*.csv")
.option("inferColumnTypes", True)
.option("header", True)
.load("https://drive.google.com/drive/folders/1a2b3c4d...")
)

Lecture des fichiers Google Drive à l'aide de la lecture par batch Spark

L'exemple suivant montre comment ingérer des fichiers Google Drive en Python à l'aide de la fonction spark.read. Pour une liste des formats de fichiers pris en charge et des options de lecteur Spark, consultez les options de source de fichier générique dans la documentation Apache Spark.

Le paramètre recursiveFileLookup=false n'est pas pris en charge pour les lectures batch Spark. L'utilisation de recursiveFileLookup=false se comportera de la même manière que recursiveFileLookup=true.

Python
# Read unstructured data as binary files
df = (spark.read
.format("binaryFile")
.option("databricks.connection", "my_gdrive_conn")
.option("recursiveFileLookup", True)
.option("pathGlobFilter", "*.pdf")
.load("https://drive.google.com/drive/folders/1a2b3c4d..."))

# Read a batch of CSV files, infer the schema, and load the data into a DataFrame
df = (spark.read
.format("csv")
.option("databricks.connection", "my_gdrive_conn")
.option("pathGlobFilter", "*.csv")
.option("recursiveFileLookup", True)
.option("inferSchema", True)
.option("header", True)
.load("https://drive.google.com/drive/folders/1a2b3c4d..."))

Lire un seul fichier structuré Google Drive

L'exemple suivant lit un seul tab d'une feuille Google et le charge dans un DataFrame. Il présente quelques options d'analyse courantes.

Pour une liste complète des options d'analyse prises en charge pour les fichiers Excel et les Google Sheets, consultez Lire et Stream des fichiers Excel. Pour une liste complète de tous les autres formats de fichier pris en charge et les options du lecteur Spark, consultez Options génériques de source de fichier dans la documentation Apache Spark.

Python
df = (spark.read
.format("excel") # use 'excel' for Google Sheets
.option("databricks.connection", "my_gdrive_conn")
.option("headerRows", 1) # optional
.option("inferColumns", True) # optional
.option("dataAddress", "Sheet1!A1:Z10") # optional
.load("https://docs.google.com/spreadsheets/d/9k8j7i6f..."))

Lire les fichiers Google Drive à l'aide de Spark SQL

L'exemple suivant montre comment ingérer des fichiers Google Drive en SQL à l'aide de la fonction à valeur de table read_files. Pour plus de détails sur l'utilisation de read_files, consultez la fonction à valeur de tableread_files.

SQL
-- Read pdf files
CREATE TABLE my_table AS
SELECT * FROM read_files(
"https://drive.google.com/drive/folders/1a2b3c4d...",
`databricks.connection` => "my_gdrive_conn",
format => "binaryFile",
pathGlobFilter => "*.pdf", -- optional. Example: only ingest PDFs
schemaEvolutionMode => "none"
);

-- Read a Google Sheet and range
CREATE TABLE my_sheet_table AS
SELECT * FROM read_files(
"https://docs.google.com/spreadsheets/d/9k8j7i6f...",
`databricks.connection` => "my_gdrive_conn",
format => "excel",
headerRows => 1, -- optional
dataAddress => "Sheet1!A2:D10", -- optional
schemaEvolutionMode => "none"
);

Ingérez des fichiers Google Drive à l’aide de LakeFlow Pipelines

remarque

Le connecteur Google Drive nécessite Databricks Runtime 17.3 ou une version ultérieure. Pour utiliser le connecteur, définissez "CHANNEL" = "PREVIEW" dans vos paramètres de pipeline. Pour plus d’informations sur les aperçus, consultez la référence des propriétés du pipeline.

Cet exemple montre comment lire des fichiers Google Drive à l'aide d'Auto Loader dans les LakeFlow Pipelines. Pour plus d'information, consultez Spark Declarative Pipelines

SQL
-- Incrementally ingest new PDF files
CREATE OR REFRESH STREAMING TABLE gdrive_pdf_table
AS SELECT * FROM STREAM read_files(
"https://drive.google.com/drive/folders/1a2b3c4d...",
format => "binaryFile",
`databricks.connection` => "my_gdrive_conn",
pathGlobFilter => "*.pdf");

-- Incrementally ingest CSV files with automatic schema inference and evolution
CREATE OR REFRESH STREAMING TABLE gdrive_csv_table
AS SELECT * FROM STREAM read_files(
"https://drive.google.com/drive/folders/1a2b3c4d...",
format => "csv",
`databricks.connection` => "my_gdrive_conn",
pathGlobFilter => "*.csv",
"header", "true");

-- Read a specific Excel file from Google Drive in a materialized view
CREATE OR REFRESH MATERIALIZED VIEW gdrive_excel_table
AS SELECT * FROM read_files(
"https://docs.google.com/spreadsheets/d/9k8j7i6f...",
`databricks.connection` => "my_gdrive_conn",
format => "excel",
headerRows => 1, -- optional
dataAddress => "Sheet1!A2:D10", -- optional
`cloudFiles.schemaEvolutionMode` => "none"
);

Analyser les fichiers non structurés avec ai_parse_document

Lorsque vous ingérez des fichiers non structurés depuis Google Drive (tels que des PDF, des documents Word ou des fichiers PowerPoint) à l'aide du connecteur Google Drive standard au format binaryFile, le contenu du fichier est stocké sous forme de données binaires brutes. Pour préparer ces fichiers pour les charges de travail d'IA — telles que le RAG, la recherche, la classification ou la compréhension de documents —, vous pouvez analyser le contenu binaire en une sortie structurée et interrogeable à l'aide de ai_parse_document.

L'exemple suivant montre comment parser des documents non structurés stockés dans une table Delta bronze nommée documents, en ajoutant une nouvelle colonne avec le contenu parsé :

SQL
CREATE TABLE documents AS
SELECT *, _metadata FROM read_files(
"https://drive.google.com/drive/folders/1a2b3c4d...",
`databricks.connection` => "my_gdrive_conn",
format => "binaryFile",
pathGlobFilter => "*.{pdf,jpeg}"
);
SELECT *, ai_parse_document(content) AS parsed_content
FROM documents;

La colonne parsed_content contient du texte extrait, des tables, des informations de Layout et des métadonnées qui peuvent être directement utilisées pour les pipelines d'IA en aval.

Analyse incrémentielle avec LakeFlow Pipelines

Vous pouvez également utiliser ai_parse_document dans les LakeFlow Pipelines pour activer l’analyse incrémentielle. À mesure que de nouveaux fichiers sont Stream depuis Google Drive, ils sont automatiquement analysés à mesure que votre pipeline se met à jour.

Par exemple, vous pouvez définir une vue matérialisée qui analyse en continu les documents nouvellement ingérés :

SQL
CREATE OR REFRESH STREAMING TABLE documents
AS SELECT *, "_metadata" FROM STREAM read_files(
"https://drive.google.com/drive/folders/1a2b3c4d...",
format => "binaryFile",
`databricks.connection` => "my_gdrive_conn",
pathGlobFilter => "*.{pdf,jpeg}");

CREATE OR REFRESH MATERIALIZED VIEW documents_parsed
AS
SELECT *, ai_parse_document(content) AS parsed_content
FROM documents;

Cette approche garantit que :

  • Les fichiers Google Drive nouvellement ingérés sont analysés automatiquement chaque fois que la vue matérialisée refresh
  • Les sorties analysées restent synchronisées avec les données entrantes
  • Les pipelines d'IA en aval opèrent toujours sur des représentations de documents à jour.

Pour les formats pris en charge et les options avancées, consultez la fonctionai_parse_document.

Comment les formats Google intégrés sont gérés

Vous n'avez pas besoin d'exporter manuellement vos fichiers Google intégrés (Docs, Sheets). Le connecteur les exporte automatiquement vers un format ouvert lors de l'ingestion.

Format Google

Exporté en tant que (default)

Google Docs

application/vnd.openxmlformats-officedocument.wordprocessingml.document (DOCX)

Google Sheets.

application/vnd.openxmlformats-officedocument.spreadsheetml.sheet (XLSX)

Google Diapositives

application/vnd.openxmlformats-officedocument.presentationml.presentation (PPTX)

Google Drawings

application/pdf (PDF)

Format Google

Exporté en tant que (default)

Google Docs

application/vnd.openxmlformats-officedocument.wordprocessingml.document (DOCX)

Google Sheets.

application/vnd.openxmlformats-officedocument.spreadsheetml.sheet (XLSX)

Google Diapositives

application/vnd.openxmlformats-officedocument.presentationml.presentation (PPTX)

Google Drawings

application/pdf (PDF)

Configuration du format d'exportation Google Drive

Vous pouvez configurer la manière dont les fichiers natifs de Google Drive sont exportés en définissant les configurations Spark à l'aide de spark.conf.set(). Ces configurations déterminent le type MIME utilisé lors de l'exportation de Google Docs, Feuilles, Diapositives et Dessins.

Clés de configuration :

  • fs.gdrive.format.document.export: format d'exportation Google Docs.
  • fs.gdrive.format.spreadsheet.export: format d'exportation Google Sheets.
  • fs.gdrive.format.presentation.export: format d'exportation Google Slides.
  • fs.gdrive.format.drawing.export: format d'exportation Google Drawings.

Pour obtenir la liste complète des formats d'exportation pris en charge, voir Types MIME d'exportation pour les documents Google Workspace dans la documentation Google Workspace.

L'exemple suivant exporte un fichier Google Docs au format TXT.

Python
spark.conf.set("fs.gdrive.format.document.export", "text/plain")
df = spark.read.text("https://docs.google.com/document/d/1a2b3c4d...")

L'exemple suivant exporte un fichier Google Sheets au format CSV.

Python
spark.conf.set("fs.gdrive.format.spreadsheet.export", "text/csv")
df = spark.read.option("header", "true").csv("https://docs.google.com/spreadsheets/d/1a2b3c4d...")

Schémas

format binaryFile

Lorsque vous utilisez format => 'binaryFile', la table résultante a le schéma suivant :

  • path (chaîne) : L'URL complète du fichier.
  • modificationTime (Timestamp) : l'heure de la dernière modification du fichier.
  • length (long) : La taille du fichier en octets.
  • content (binaire) : Le contenu binaire brut du fichier.

colonne _metadata

Vous pouvez obtenir des informations de métadonnées pour les fichiers d’entrée avec la colonne _metadata, telles que file_name, file_path, file_size et file_modification_time. La colonne _metadata est une colonne masquée et est disponible pour tous les formats de fichier d'entrée. Pour inclure la colonne _metadata dans le DataFrame renvoyé, vous devez la sélectionner explicitement dans la query de lecture où vous spécifiez la source. Pour plus d'information, consultez Colonne de métadonnées de fichier.

Pour les fichiers natifs de Google Drive (tels que Google Docs, Google Sheets et Google Slides), le champ file_size fait référence à la taille du fichier stocké sur Google Drive, et non à la taille du fichier au format exporté (par exemple, DOCX, XLSX ou PPTX).

Exemple de sélection de _metadata:

SQL
SELECT *, _metadata FROM read_files(
"https://drive.google.com/",
`databricks.connection` => "my_connection",
format => "binaryFile"
);

colonne de métadonnées Google Drive

La colonne _gdrive_metadata est une colonne de métadonnées masquée qui donne accès aux propriétés spécifiques de Google Drive des fichiers ingérés, provenant de la ressource Google Drive files. Cela nécessite Databricks Runtime 18.1 ou une version ultérieure et est disponible pour tous les formats de fichier lors de la lecture depuis Google Drive. Pour inclure la colonne _gdrive_metadata dans le DataFrame renvoyé, vous devez la sélectionner explicitement dans la query de lecture.

Si la source de données contient une colonne nommée _gdrive_metadata, la colonne de métadonnées Google Drive est renommée __gdrive_metadata (avec un trait de soulignement supplémentaire au début) pour dédupliquer. Des traits de soulignement supplémentaires sont ajoutés jusqu'à ce que le nom soit unique.

Les métadonnées de fichier courantes, telles que le chemin du fichier ou la taille, peuvent être interrogées à l'aide de la colonne _metadata. Pour plus d'informations, consultez la colonne de métadonnées du fichier.

attention

De nouveaux champs pourraient être ajoutés à la colonne _gdrive_metadata dans les futures versions. Pour éviter les erreurs d'évolution des schémas si la colonne _gdrive_metadata est mise à jour, vous pouvez sélectionner des champs spécifiques de la colonne dans vos query. Voir Exemples.

Schéma

La colonne _gdrive_metadata est un STRUCT contenant les champs suivants. Tous les champs peuvent être nuls.

Nom

Type

Description

Exemple

Version minimale de Databricks Runtime

ID

STRING

L'ID du fichier Google Drive.

1pCzwOApmvUJCtXtav265-i4E7mYf2feF

18.1

drive_id

STRING

L'ID du lecteur partagé qui contient le fichier. null pour les fichiers dans Mon Drive d'un utilisateur.

0ABpL6n51HPGXUk9PVA

18.1

parent_id

STRING

L'ID du dossier parent du fichier. Les fichiers Google Drive peuvent avoir plusieurs parents ; cela renvoie le premier.

1a2b3c4d5e6f7g8h9i0j

18.1

web_url

STRING

L'URL du navigateur du fichier sur Google Drive.

https://drive.google.com/file/d/1pCzwOApmvUJCtXtav265-i4E7mYf2feF/view

18.1

mime_type

STRING

Le type MIME du fichier. Pour les fichiers Google Workspace, il s'agit du type Google natif (par exemple, application/vnd.google-apps.document), et non du type exporté.

text/csv

18.1

md5_checksum

STRING

La somme de contrôle MD5 du contenu du fichier. Renseigné uniquement pour les fichiers binaires ; null pour les fichiers Google Workspace.

06ffb3e392fc5459e5322aad81b4f78b

18.1

Version

STRING

Un numéro de version du fichier augmentant de manière monotone.

12

18.1

created_timestamp

TIMESTAMP

L'heure de création du fichier.

2025-12-01 10:16:19

18.1

last_modified_by_email

STRING

L'e-mail de l'utilisateur qui a modifié le fichier en dernier.

alice@example.com

18.1

last_modified_by_name

STRING

Nom d'affichage de l'utilisateur qui a modifié le fichier en dernier.

Alice Example

18.1

partagé

BOOLEAN

Si le fichier a été partagé avec des utilisateurs autres que le propriétaire.

true

18.1

Propriétés

VARIANT

Propriétés publiques personnalisées définies sur le fichier. Consultez les Propriétés dans l'API Drive.

{"department":"finance"}

18.1

métadonnées supplémentaires

VARIANT

Tout autre champ de ressource de fichier renvoyé par l'API Drive mais non extrait ci-dessus.

{"capabilities":{"canEdit":true},...}

18.1

Nom

Type

Description

Exemple

Version minimale de Databricks Runtime

ID

STRING

L'ID du fichier Google Drive.

1pCzwOApmvUJCtXtav265-i4E7mYf2feF

18.1

drive_id

STRING

L'ID du lecteur partagé qui contient le fichier. null pour les fichiers dans Mon Drive d'un utilisateur.

0ABpL6n51HPGXUk9PVA

18.1

parent_id

STRING

L'ID du dossier parent du fichier. Les fichiers Google Drive peuvent avoir plusieurs parents ; cela renvoie le premier.

1a2b3c4d5e6f7g8h9i0j

18.1

web_url

STRING

L'URL du navigateur du fichier sur Google Drive.

https://drive.google.com/file/d/1pCzwOApmvUJCtXtav265-i4E7mYf2feF/view

18.1

mime_type

STRING

Le type MIME du fichier. Pour les fichiers Google Workspace, il s'agit du type Google natif (par exemple, application/vnd.google-apps.document), et non du type exporté.

text/csv

18.1

md5_checksum

STRING

La somme de contrôle MD5 du contenu du fichier. Renseigné uniquement pour les fichiers binaires ; null pour les fichiers Google Workspace.

06ffb3e392fc5459e5322aad81b4f78b

18.1

Version

STRING

Un numéro de version du fichier augmentant de manière monotone.

12

18.1

created_timestamp

TIMESTAMP

L'heure de création du fichier.

2025-12-01 10:16:19

18.1

last_modified_by_email

STRING

L'e-mail de l'utilisateur qui a modifié le fichier en dernier.

alice@example.com

18.1

last_modified_by_name

STRING

Nom d'affichage de l'utilisateur qui a modifié le fichier en dernier.

Alice Example

18.1

partagé

BOOLEAN

Si le fichier a été partagé avec des utilisateurs autres que le propriétaire.

true

18.1

Propriétés

VARIANT

Propriétés publiques personnalisées définies sur le fichier. Consultez les Propriétés dans l'API Drive.

{"department":"finance"}

18.1

métadonnées supplémentaires

VARIANT

Tout autre champ de ressource de fichier renvoyé par l'API Drive mais non extrait ci-dessus.

{"capabilities":{"canEdit":true},...}

18.1

remarque

Les champs properties et additional_metadata sont renvoyés sous la forme de VARIANT. Voir le typeVARIANT.

Exemples

Les exemples suivants montrent comment inclure la colonne _gdrive_metadata dans une query de lecture, sélectionner des champs spécifiques de la colonne et extraire des valeurs des champs VARIANT.

Python
df = (spark.read
.format("binaryFile")
.option("databricks.connection", "my_gdrive_conn")
.load("https://drive.google.com/drive/folders/1a2b3c4d...")
.select("*", "_metadata", "_gdrive_metadata"))

Sélectionnez des champs spécifiques de la structure _gdrive_metadata :

Python
df = (spark.read
.format("binaryFile")
.option("databricks.connection", "my_gdrive_conn")
.load("https://drive.google.com/drive/folders/1a2b3c4d...")
.select("_gdrive_metadata.id", "_gdrive_metadata.md5_checksum"))

Extrayez les valeurs des champs properties ou additional_metadata VARIANT à l’aide de l’opérateur de cast :: :

SQL
SELECT
*,
_gdrive_metadata.properties:department::STRING AS department
FROM read_files(
"https://drive.google.com/drive/folders/1a2b3c4d...",
`databricks.connection` => "my_gdrive_conn",
format => "binaryFile"
);

FAQ

J'ai un dossier de plusieurs fichiers structurés (par exemple, plusieurs Google Sheets). Comment charger chaque feuille ou fichier en tant que table Delta distincte ?

Vous devez créer une nouvelle query d'ingestion pour chaque fichier à ingérer dans sa propre table Delta.

Mes fichiers nécessitent une analyse personnalisée. Comment fournir ces paramètres d’analyse pour garantir que mes fichiers sont lus correctement ?

Le connecteur prend en charge toutes les options de format de fichier disponibles dans Auto Loader, COPY INTO et Spark. Pour plus de détails, consultez les éléments suivants :

Les fichiers des sous-dossiers sont-ils ingérés de manière récursive ?

Lorsque vous utilisez les API Auto Loader (spark.readStream et read_files), tous les sous-dossiers sont découverts et ingérés de manière récursive. Ceci est également vrai pour les spark.read par batch, où les fichiers du chemin de dossier fourni sont toujours lus de manière récursive.

Ma feuille Google présente de nombreuses irrégularités et nécessite une analyse et une extraction de plage de cellules spécifiques (par exemple, plusieurs tables par feuille). Le schéma ne peut pas être inféré automatiquement. Comment gérer cela ?

Vous pouvez utiliser les options d'analyse du format de fichier Excel pour analyser votre fichier Google Sheet au format souhaité. Consultez Lire et Stream des fichiers Excel.

Alternativement, vous pouvez désactiver l'inférence de schéma sur Auto Loader, PySpark, ou read_files. La table résultante a des noms de colonne default, tous les types de données sont convertis en chaîne, et la table peut être clairsemée. Vous pouvez ensuite effectuer les transformations nécessaires en aval.

Étapes suivantes