Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Belangrijk
Deze functie bevindt zich in de bètaversie. Werkruimtebeheerders kunnen de toegang tot deze functie beheren vanaf de pagina Previews . Zie Azure Databricks-previews beheren.
:::opmerking Naleving
De Google Drive-connector biedt ondersteuning voor gebruik in werkruimten, waarbij verbeterde beveiligings- en nalevingsinstellingen zijn ingeschakeld.
:::
Met de standaard Google Drive-connector in Lakeflow Connect kunt u Azure Databricks Spark- en SQL-functies (read_files, spark.read, COPY INTO en Auto Loader) gebruiken om Spark-gegevensframes, gerealiseerde weergaven en streamingtabellen rechtstreeks vanuit bestanden in Google Drive te maken.
Met deze methode kunt u aangepaste pijplijnen maken voor veelvoorkomende gebruiksscenario's voor bestandsopname:
- Opname van streamingbestanden (ongestructureerd): het opnemen van veel bronbestanden (bijvoorbeeld PDF's, Google Docs en Google Dia's) in één doeltabel als binaire gegevens, ideaal voor RAG-pijplijnen.
- Opname van streamingbestanden (gestructureerd): veel bronbestanden (bijvoorbeeld CSV- en JSON-bestanden) samenvoegen tot één gestructureerde doeltabel.
- Batchbestandsopname: het opnemen van één specifiek bestand (zoals een Google Sheet) of een batch met bestanden in één doeltabel.
Deze interfaces worden ondersteund:
- Declaratieve automatiseringsbundels
- Databricks API's
- Databricks SDK's
- Databricks-CLI
Beperkingen
- De connector is alleen API en biedt geen ondersteuning voor het maken van pijplijnen in de gebruikersinterface van Azure Databricks.
- U kunt de
pathGlobFilteroptie gebruiken om bestanden op naam te filteren (bijvoorbeeldpathGlobFilter => '*.csv'). Ingebouwde Google-indelingen (bijvoorbeeld Google Docs of Google Sheets) kunnen niet worden gefilterd met deze optie. Filteren van mappaden wordt ook niet ondersteund. - Niet-ondersteunde indelingen zijn Google Forms, Google Sites, Google Jams en Google Vids. Tijdens het opnameproces worden niet-ondersteunde indelingen overgeslagen.
- Instelling
recursiveFileLookup=falsewordt niet ondersteund voor leesbewerkingen in Spark-batches. Het gebruikrecursiveFileLookup=falsegedraagt zich hetzelfde alsrecursiveFileLookup=true.
Requirements
Controleer voordat u begint of u het volgende hebt:
- Een werkruimte waarvoor Unity Catalog is ingeschakeld.
-
CREATE CONNECTIONbevoegdheden voor het maken van een Google Drive-verbinding of de juiste bevoegdheid om een bestaande verbinding te gebruiken op basis van de toegangsmodus van uw cluster:- Toegewezen toegangsmodus:
MANAGE CONNECTION. - Standaardtoegangsmodus:
USE CONNECTION.
- Toegewezen toegangsmodus:
- Databricks Runtime 17.3 of hoger.
- Een bèta-functie voor de Excel-bestandsindeling is ingeschakeld als u Google Sheets- of Excel-bestanden wilt importeren. Zie Read Excel files.
- Een Google-account met de benodigde machtigingen om een Google Cloud-project te maken.
OAuth 2.0 configureren
Een Google Cloud-project instellen en de Google Drive-API inschakelen
- Ga naar de Google Cloud-console.
- Maak een nieuw project. Mogelijk wordt u gevraagd om tweeledige verificatie in te stellen.
- Ga naar
APIs & Services-bibliotheek . - Zoek naar 'Google Drive-API'.
- Selecteer Google Drive-API.
- Selecteer Inschakelen.
Het OAuth-toestemmingsscherm voor uw project instellen
- Ga in het beginscherm van de Google Cloud-console naar API's & Services > OAuth Consent Screen. U ziet een bericht met de tekst 'Google Auth Platform is nog niet geconfigureerd'.
- Selecteer Aan de slag.
- Vul de sectie App-gegevens in. Voer een willekeurige naam in voor de app-naam (bijvoorbeeld
Databricks connection). De ondersteunings-e-mail kan elk e-mailbericht in uw organisatie zijn. - Kies Volgende.
- In de sectie Doelgroep, selecteer Extern en selecteer vervolgens Volgende.
- Vul de sectie Contactgegevens in en selecteer Vervolgens.
- Controleer het beleid voor gebruikersgegevens van Google API-services en selecteer Maken.
- Ga terug naar Google Auth Platform > Data Access.
- Selecteer Bereiken toevoegen of verwijderen.
- Voeg het volgende bereik toe in de sectie Bereiken handmatig toevoegen , selecteer Toevoegen aan tabel en selecteer Vervolgens Bijwerken:
https://www.googleapis.com/auth/drive.readonly - Selecteer Opslaan.
OAuth 2.0-clientreferenties maken
- Ga in het startscherm van de Google Cloud-console naar API's en Services >-referenties.
- Selecteer Referenties maken>OAuth-client-ID.
- Kies Webtoepassing en stel een aangepaste naam in.
- Selecteer URI toevoegen in geautoriseerde omleidings-URI's.
- Voeg een omleidings-URI toe aan
<databricks-instance-url>/login/oauth/google.html, waarbij u<databricks-instance-url>vervangt door de URL van uw Azure Databricks-exemplaar. Bijvoorbeeld:https://instance-name.databricks.com/login/oauth/google.html - Klik op Creëren. Er wordt een dialoogvenster met uw referenties weergegeven.
- Noteer de volgende waarden. U kunt ook het JSON-bestand van de OAuth-client downloaden, dat deze informatie bevat:
- Client-ID (indeling:
0123******-********************************.apps.googleusercontent.com) - Clientgeheim (indeling:
ABCD**-****************************)
- Client-ID (indeling:
Testgebruikers toevoegen aan uw project
- Ga naar Google Auth Platform > Audience.
- Selecteer Onder Testgebruikers de optie Gebruikers toevoegen.
- Voeg het e-mailadres van het Google-account toe dat u gebruikt om de verbinding te maken.
Een verbinding maken
Selecteer in de Azure Databricks-werkruimte Catalogus > Externe locaties > Verbindingen > Verbinding maken.
Geef op de pagina Basisbeginselen van de wizard Verbinding instellen een unieke verbindingsnaam op.
Zoek en selecteer Google Drive in het vervolgkeuzemenu Verbindingstype.
(Optioneel) Voeg een opmerking toe.
Kies Volgende.
Voer op de pagina Verificatie het volgende in:
-
OAuth-bereik:
https://www.googleapis.com/auth/drive.readonly - Clientgeheim: het clientgeheim van OAuth 2.0-clientreferenties maken.
- Client-id: de client-id van OAuth 2.0-clientreferenties maken.
-
OAuth-bereik:
Selecteer Aanmelden met Google en meld u aan met het Google-account van Testgebruikers toevoegen aan uw project.
Selecteer Doorgaan en selecteer Opnieuw doorgaan .
Nadat u bent omgeleid naar de Azure Databricks werkruimte, selecteert u Verbinding maken.
Bestanden opnemen vanuit Google Drive
Bestanden opnemen van Google Drive met behulp van de connector en read_files (Databricks SQL), Auto Loader (.readStream met cloudFiles), COPY INTO, en spark.read. U moet de volgende waarden opgeven:
- De URL van Google Drive als pad.
- De Unity Catalog-verbinding via de
databricks.connectiongegevensbronoptie. - De URL van de Google Drive-resource die u wilt openen. De URL kan verwijzen naar een specifiek bestand, een map of een volledige schijf. Bijvoorbeeld:
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/
Google Drive-bestanden streamen met automatische laadprogramma's
Auto Loader is de meest efficiënte manier om gestructureerde bestanden incrementeel op te nemen vanuit Google Drive. Er worden automatisch nieuwe bestanden gedetecteerd en verwerkt deze zodra ze binnenkomen. Het kan ook gestructureerde en semi-gestructureerde bestanden zoals CSV en JSON opnemen met automatische schemadeductie en evolutie. Zie Algemene patronen voor het laden van gegevens voor meer informatie over het gebruik van automatisch laadprogramma's.
# 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...")
)
Google Drive-bestanden lezen met Spark batch read
In het volgende voorbeeld ziet u hoe u Google Drive-bestanden opneemt in Python met behulp van de functie spark.read. Zie Algemene bestandsbronopties in de Apache Spark-documentatie voor een lijst met ondersteunde bestandsindelingen en opties voor Spark-lezer.
Instelling recursiveFileLookup=false wordt niet ondersteund voor leesbewerkingen in Spark-batches. Het gebruik recursiveFileLookup=false gedraagt zich hetzelfde als 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..."))
Eén gestructureerd Google Drive-bestand lezen
In het volgende voorbeeld wordt één tabblad van een Google Sheet gelezen en geladen in een DataFrame. Het toont een aantal algemene parseringsopties.
Zie Gelezen Excel bestanden voor een volledige lijst met ondersteunde parseeropties voor Excel bestanden en Google Spreadsheets. Zie Algemene opties voor bestandsbronnen in de Apache Spark-documentatie voor een volledige lijst met alle andere ondersteunde bestandsindelingen en opties voor Spark-lezer.
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..."))
Google Drive-bestanden lezen met Spark SQL
In het volgende voorbeeld ziet u hoe u Google Drive-bestanden in SQL opneemt met behulp van de read_files functie met tabelwaarde. Zie de tabelwaardige functie voor meer informatie over het gebruik van read_filesread_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"
);
Google Drive-bestanden opnemen met declaratieve pijplijnen van Lakeflow Spark
Opmerking
Voor de Google Drive-connector is Databricks Runtime 17.3 of hoger vereist. Als u de connector wilt gebruiken, stelt u "CHANNEL" = "PREVIEW" in uw pijplijninstellingen in. Zie De referentie voor pijplijneigenschappen voor meer informatie over previews.
In deze voorbeelden ziet u hoe u Google Drive-bestanden kunt lezen met behulp van autolaadprogramma's in Lakeflow Spark-declaratieve pijplijnen. Zie Lakeflow Spark-declaratieve pijplijnen voor meer informatie
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"
);
Python
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..."))
Ongestructureerde bestanden parseren met ai_parse_document
Wanneer u ongestructureerde bestanden uit Google Drive (zoals PDF's, Word documenten of PowerPoint bestanden) opneemt met behulp van de standaard Google Drive-connector met binaryFile-indeling, worden de bestandsinhoud opgeslagen als onbewerkte binaire gegevens. Als u deze bestanden wilt voorbereiden voor AI-workloads, zoals RAG, zoeken, classificatie of documentbegrip, kunt u de binaire inhoud parseren in gestructureerde, doorzoekbare uitvoer met behulp van ai_parse_document.
In het volgende voorbeeld ziet u hoe u ongestructureerde documenten kunt parseren die zijn opgeslagen in een bronzen Delta-tabel met de naam documents, waarbij een nieuwe kolom met geparseerde inhoud wordt toegevoegd:
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;
De parsed_content kolom bevat geëxtraheerde tekst, tabellen, indelingsgegevens en metagegevens die rechtstreeks kunnen worden gebruikt voor downstream AI-pijplijnen.
Incrementeel parseren met Lakeflow Spark-declaratieve pijplijnen
U kunt ook declaratieve pijplijnen van Lakeflow Spark gebruiken ai_parse_document om incrementele parsering in te schakelen. Nieuwe bestanden die vanuit Google Drive worden gestreamd, worden automatisch verwerkt zodra uw pijplijn wordt bijgewerkt.
U kunt bijvoorbeeld een gerealiseerde weergave definiëren waarmee nieuw opgenomen documenten continu worden geparseerd:
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;
Deze aanpak zorgt ervoor dat:
- Nieuw opgenomen Google Drive-bestanden worden automatisch geparseerd wanneer de gerealiseerde weergave wordt vernieuwd
- Geparseerde uitvoer blijft gesynchroniseerd met binnenkomende gegevens
- Downstream AI-pijplijnen werken altijd met actuele documentweergaven
Zie de functie voor ondersteunde indelingen en geavanceerde optiesai_parse_document.
Hoe ingebouwde Google-indelingen worden verwerkt
U hoeft uw ingebouwde Google-bestanden (Docs, Sheets) niet handmatig te exporteren. De connector exporteert deze automatisch naar een open indeling tijdens de opname.
| Google-indeling | Geëxporteerd als (standaard) |
|---|---|
| Google Docs |
application/vnd.openxmlformats-officedocument.wordprocessingml.document (DOCX) |
| Google Sheets |
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet (XLSX) |
| Google Dia's |
application/vnd.openxmlformats-officedocument.presentationml.presentation (PPTX) |
| Google Tekeningen |
application/pdf (PDF) |
Configuratie van exportindeling van Google Drive
U kunt configureren hoe systeemeigen Google Drive-bestanden worden geëxporteerd door Spark-configuraties in te stellen met behulp van spark.conf.set(). Deze configuraties bepalen het type dat wordt gebruikt bij het MIME exporteren van Google Docs, Spreadsheets, Dia's en Tekeningen.
Configuratiesleutels:
-
fs.gdrive.format.document.export: Exportindeling van Google Docs. -
fs.gdrive.format.spreadsheet.export: Exportindeling van Google Sheets. -
fs.gdrive.format.presentation.export: Exportindeling van Google Presentaties. -
fs.gdrive.format.drawing.export: Google Drawings-exportformaat.
Zie Mime-typen exporteren voor Google Workspace-documenten in de documentatie van Google Workspace voor een volledige lijst met ondersteunde exportindelingen.
In het volgende voorbeeld wordt een Google Docs-bestand geëxporteerd als TXT.
spark.conf.set("fs.gdrive.format.document.export", "text/plain")
df = spark.read.text("https://docs.google.com/document/d/1a2b3c4d...")
In het volgende voorbeeld wordt een Google Sheets-bestand geëxporteerd als 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...")
Schemas
binaire-bestandsindeling
Wanneer u deze gebruikt format => 'binaryFile', heeft de resulterende tabel het volgende schema:
-
path(tekenreeks): De volledige URL naar het bestand. -
modificationTime(tijdstempel): De laatste wijzigingstijd van het bestand. -
length(lang): De grootte van het bestand in bytes. -
content(binair): De onbewerkte binaire inhoud van het bestand.
_metadata kolom
U kunt metagegevensgegevens ophalen voor invoerbestanden met de _metadata kolom, zoals file_name, file_pathen file_sizefile_modification_time. De _metadata kolom is een verborgen kolom en is beschikbaar voor alle invoerbestandsindelingen. Als u de _metadata kolom in het geretourneerde DataFrame wilt opnemen, moet u deze expliciet selecteren in de leesquery waarin u de bron opgeeft. Zie kolom met metagegevens van bestandvoor meer informatie.
Voor systeemeigen Google Drive-bestanden (zoals Google Docs, Google Sheets en Google Dia's) verwijst het file_size veld naar de grootte van het bestand dat is opgeslagen op Google Drive, niet naar de grootte van het bestand in de geëxporteerde indeling (bijvoorbeeld DOCX, XLSX of PPTX).
Voorbeeld van het selecteren _metadata:
SELECT *, _metadata FROM read_files(
"https://drive.google.com/",
`databricks.connection` => "my_connection",
format => "binaryFile"
);
Kolom metagegevens van Google Drive
Belangrijk
Deze functie bevindt zich in Private Preview. Neem contact op met uw Azure Databricks-contactpersoon om het te proberen.
De _gdrive_metadata kolom is een verborgen kolom met metagegevens die toegang biedt tot google Drive-specifieke eigenschappen van opgenomen bestanden, afkomstig van de Google Drive-resourcefiles. Hiervoor is Databricks Runtime 18.1 of hoger vereist en is beschikbaar voor alle bestandsindelingen bij het lezen vanuit Google Drive. Als u de _gdrive_metadata kolom in het geretourneerde DataFrame wilt opnemen, moet u deze expliciet selecteren in de leesquery.
Als de gegevensbron een kolom met de naam _gdrive_metadatabevat, wordt de naam van de kolom metagegevens van Google Drive gewijzigd in __gdrive_metadata (met een extra voorlooponderstrepingsteken) om te ontdubbelen. Er worden extra onderstrepingstekens toegevoegd totdat de naam uniek is.
Algemene bestandsmetagegevens, zoals het bestandspad of de grootte, kunnen worden opgevraagd met behulp van de _metadata kolom. Zie kolom met metagegevens van bestandvoor meer informatie.
Schema
De _gdrive_metadata kolom is een STRUCT en bevat de volgende velden. Alle velden zijn null-baar.
| Naam | Typ | Description | Voorbeeld | Minimale release van Databricks Runtime |
|---|---|---|---|---|
| ID | STRING |
De Google Drive-bestands-id . | 1pCzwOApmvUJCtXtav265-i4E7mYf2feF |
18.1 |
| drive_id | STRING |
De ID van de gedeelde schijf die het bestand bevat.
null voor bestanden in de Mijn Drive van een gebruiker. |
0ABpL6n51HPGXUk9PVA |
18.1 |
| parent_id | STRING |
De ID van de oudermap van het bestand. Google Drive-bestanden kunnen meerdere ouders hebben; dit retourneert de eerste. | 1a2b3c4d5e6f7g8h9i0j |
18.1 |
| web_url | STRING |
De browser-URL van het bestand op Google Drive. | https://drive.google.com/file/d/1pCzwOApmvUJCtXtav265-i4E7mYf2feF/view |
18.1 |
| mime_type | STRING |
Het MIME-type van het bestand. Voor Google Workspace-bestanden is dit het systeemeigen Google-type (bijvoorbeeld application/vnd.google-apps.document), niet het geëxporteerde type. |
text/csv |
18.1 |
| md5_checksum | STRING |
De MD5-controlesom van de inhoud van het bestand. Alleen ingevuld voor binaire bestanden; null voor Google Workspace-bestanden. |
06ffb3e392fc5459e5322aad81b4f78b |
18.1 |
| version | STRING |
Een monotonisch toenemend versienummer voor het bestand. | 12 |
18.1 |
| created_timestamp | TIMESTAMP |
Het tijdstip waarop het bestand is gemaakt. | 2025-12-01 10:16:19 |
18.1 |
| last_modified_by_email | STRING |
Het e-mailadres van de gebruiker die het bestand het laatst heeft gewijzigd. | alice@example.com |
18.1 |
| laatst_aangepast_door_naam | STRING |
De weergavenaam van de gebruiker die het bestand het laatst heeft gewijzigd. | Alice Example |
18.1 |
| gedeelde | BOOLEAN |
Of het bestand is gedeeld met andere gebruikers dan de eigenaar. | true |
18.1 |
| eigenschappen | VARIANT |
Aangepaste openbare eigenschappen die zijn ingesteld op het bestand. Zie Eigenschappen in de Drive-API. | {"department":"finance"} |
18.1 |
| additional_metadata | VARIANT |
Alle andere bestandsresourcevelden die worden geretourneerd door de Drive-API, maar die hierboven niet zijn geëxtraheerd. | {"capabilities":{"canEdit":true},...} |
18.1 |
Opmerking
De properties velden en additional_metadata velden worden geretourneerd als VARIANT. Zie VARIANT type.
Voorbeelden
In de volgende voorbeelden ziet u hoe u de _gdrive_metadata kolom in een leesquery opneemt, specifieke velden in de kolom selecteert en waarden uit VARIANT velden ophaalt.
Python
df = (spark.read
.format("binaryFile")
.option("databricks.connection", "my_gdrive_conn")
.load("https://drive.google.com/drive/folders/1a2b3c4d...")
.select("*", "_metadata", "_gdrive_metadata"))
SQL
SELECT *, _gdrive_metadata
FROM read_files(
"https://drive.google.com/drive/folders/1a2b3c4d...",
`databricks.connection` => "my_gdrive_conn",
format => "binaryFile"
);
Selecteer specifieke velden in de _gdrive_metadata struct:
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"))
Waarden extraheren uit de properties of additional_metadataVARIANT velden met behulp van de :: cast-operator:
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"
);
Veelgestelde vragen
Ik heb een map met meerdere gestructureerde bestanden (bijvoorbeeld meerdere Google Sheets). Hoe laad ik elk blad of bestand als een eigen Delta-tabel?
U moet een nieuwe opnamequery maken voor elk bestand dat moet worden opgenomen in een eigen Delta-tabel.
Voor mijn bestanden is aangepaste parsering vereist. Hoe geef ik deze parseringsparameters op om ervoor te zorgen dat mijn bestanden correct worden gelezen?
De connector ondersteunt alle bestandsindelingsopties die beschikbaar zijn in Automatisch laden, COPY INTOen Spark. Zie het volgende voor meer informatie:
Worden bestanden in submappen recursief opgenomen?
Wanneer u automatische laadlaad-API's (spark.readStream en read_files) gebruikt, worden alle submappen recursief gedetecteerd en opgenomen. Dit geldt ook voor batch spark.read, waarbij bestanden in het opgegeven mappad altijd recursief worden gelezen.
Mijn Google Sheet heeft veel onregelmatigheden en vereist specifieke parsering en celbereikextractie (bijvoorbeeld meerdere tabellen per vel). Het schema kan niet automatisch worden afgeleid. Hoe kan ik dit afhandelen?
U kunt Excel parseeropties voor bestandsindelingen gebruiken om uw Google-bladbestand te parseren naar de gewenste indeling. Zie Read Excel files.
U kunt ook schemadeductie uitschakelen voor AutoLoader, PySpark of read_files. De resulterende tabel bevat standaardkolomnamen, alle gegevenstypen worden naar een string gecast en de tabel kan schaars zijn. Vervolgens kunt u alle benodigde transformaties downstream uitvoeren.