Ingérer des fichiers depuis Google Drive
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 |
|---|---|
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 |
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
pathGlobFilterpour 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=falsen'est pas pris en charge pour les lectures batch Spark. L'utilisation derecursiveFileLookup=falsese comportera de la même manière querecursiveFileLookup=true.
Exigences
Avant de commencer, vérifiez que vous disposez de :
-
Un Workspace compatible avec Unity Catalog.
-
CREATE CONNECTIONprivilè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.
- Mode d’accès dédié :
-
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
- Accédez à la console Google Cloud.
- Créez un nouveau projet. Il peut vous être demandé de configurer l'authentification à deux facteurs.
- Accédez à APIs & Services > Bibliothèque .
- Recherchez « Google Drive API ».
- Sélectionner Google Drive API .
- Sélectionnez **Activer**.
Configure l'écran de consentement OAuth pour votre projet
- 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 ».
- Sélectionnez start .
- 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. - Sélectionnez **Suivant**.
- Dans la section **Audience**, sélectionnez **External**, puis sélectionnez **Next**.
- Remplissez la section Informations de contact , puis sélectionnez Suivant .
- Consultez la Politique d'utilisation des données des utilisateurs des services Google API, puis sélectionnez **Créer**.
- Retournez à Google Auth Platform > Data Access.
- Sélectionnez Ajouter ou supprimer des champs d'application .
- 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 - Sélectionnez Enregistrer .
Créer des identifiants client OAuth 2.0
- Sur l'écran d'accueil de la console Google Cloud, allez à APIs & Services > Credentials .
- Sélectionnez Créer des informations d'identification > ID client OAuth .
- Choisissez Application Web et définissez un nom personnalisé.
- Dans **URI de redirection autorisées**, sélectionnez **Ajouter un URI**.
- 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 - Sélectionnez **Créer**. Une boîte de dialogue contenant vos identifiants apparaît.
- 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**-****************************)
- ID client (format :
Ajoutez des utilisateurs de test à votre projet.
- Accédez à Google Auth Platform > Audience .
- Sous **Utilisateurs de test**, sélectionnez **Ajouter des utilisateurs**.
- Ajoutez l'adresse e-mail du compte Google que vous utiliserez pour créer la connexion.
Créer une connexion
-
Dans l’espace de travail Databricks, sélectionnez Catalogue > Emplacements externes > Connexions > Créer une connexion .
-
Sur la page Principes de base de la connexion de l'assistant de configuration de la connexion , spécifiez un nom de connexion unique.
-
Dans le menu déroulant Type de connexion , recherchez et sélectionnez Google Drive .
-
Ajouter un commentaire (facultatif).
-
Sélectionnez **Suivant**.
-
Sur la page Authentification , saisissez les informations suivantes :
- Champ d'application d'OAuth :
https://www.googleapis.com/auth/drive.readonly - Secret client : Le secret client de Créer des identifiants client OAuth 2.0.
- ID client : L’ID client des identifiants client OAuth 2.0.
- Champ d'application d'OAuth :
-
Sélectionnez **Connectez-vous avec Google** et connectez-vous avec le compte Google de Ajouter des utilisateurs de test à votre projet.
-
Sélectionnez Continuer , puis sélectionnez de nouveau Continuer .
-
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_herehttps://drive.google.com/drive/u/0/folders/12345https://docs.google.com/document/d/12345/edithttps://drive.google.com/file/d/1kiXnHmU4Y8X66ijULky5EPDNCGtT14Ps/view?usp=drive_linkhttps://drive.google.com/drive/https://drive.google.com/drive/my-drivehttps://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.
# 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.
# 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.
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.
-- 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
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
- Python
-- 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"
);
from pyspark import pipelines as dp
# Incrementally ingest new PDF files
@dp.table
def gdrive_pdf_table():
return (spark.readStream.format("cloudFiles")
.option("cloudFiles.format", "binaryFile")
.option("databricks.connection", "my_gdrive_conn")
.option("pathGlobFilter", "*.pdf")
.load("https://drive.google.com/drive/folders/1a2b3c4d...")
)
# Incrementally ingest CSV files with automatic schema inference and evolution
@dp.table
def gdrive_csv_table():
return (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...")
)
# Read a specific Excel file from Google Drive in a materialized view
@dp.table
def gdrive_excel_table():
return (spark.read.format("excel")
.option("databricks.connection", "my_gdrive_conn")
.option("headerRows", 1) # optional
.option("inferColumnTypes", True) # optional
.option("dataAddress", "Sheet1!A1:M20") # optional
.load("https://docs.google.com/spreadsheets/d/9k8j7i6f..."))
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é :
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 :
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 |
|
Google Sheets. |
|
Google Diapositives |
|
Google Drawings |
|
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.
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.
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:
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.
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 |
| L'ID du fichier Google Drive. |
| 18.1 |
drive_id |
| L'ID du lecteur partagé qui contient le fichier. |
| 18.1 |
parent_id |
| L'ID du dossier parent du fichier. Les fichiers Google Drive peuvent avoir plusieurs parents ; cela renvoie le premier. |
| 18.1 |
web_url |
| L'URL du navigateur du fichier sur Google Drive. |
| 18.1 |
mime_type |
| Le type MIME du fichier. Pour les fichiers Google Workspace, il s'agit du type Google natif (par exemple, |
| 18.1 |
md5_checksum |
| La somme de contrôle MD5 du contenu du fichier. Renseigné uniquement pour les fichiers binaires ; |
| 18.1 |
Version |
| Un numéro de version du fichier augmentant de manière monotone. |
| 18.1 |
created_timestamp |
| L'heure de création du fichier. |
| 18.1 |
last_modified_by_email |
| L'e-mail de l'utilisateur qui a modifié le fichier en dernier. |
| 18.1 |
last_modified_by_name |
| Nom d'affichage de l'utilisateur qui a modifié le fichier en dernier. |
| 18.1 |
partagé |
| Si le fichier a été partagé avec des utilisateurs autres que le propriétaire. |
| 18.1 |
Propriétés |
| Propriétés publiques personnalisées définies sur le fichier. Consultez les Propriétés dans l'API Drive. |
| 18.1 |
métadonnées supplémentaires |
| Tout autre champ de ressource de fichier renvoyé par l'API Drive mais non extrait ci-dessus. |
| 18.1 |
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
- SQL
df = (spark.read
.format("binaryFile")
.option("databricks.connection", "my_gdrive_conn")
.load("https://drive.google.com/drive/folders/1a2b3c4d...")
.select("*", "_metadata", "_gdrive_metadata"))
SELECT *, _gdrive_metadata
FROM read_files(
"https://drive.google.com/drive/folders/1a2b3c4d...",
`databricks.connection` => "my_gdrive_conn",
format => "binaryFile"
);
Sélectionnez des champs spécifiques de la structure _gdrive_metadata :
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 :: :
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
- Explorez les modèles courants de chargement de données
- Vérifiez la fonction
ai_parse_document