Ingerir dados do Google Drive
Beta
Este recurso está em Beta. Os administradores do espaço de trabalho podem controlar o acesso a esse recurso na página Pré-visualizações . Consulte Gerenciar prévias do Databricks.
Esta página mostra como criar um pipeline de ingestão gerenciado do Google Drive usando o LakeFlow Connect.
Antes de começar
-
Para criar o pipeline de ingestão, você deve primeiro atender aos seguintes requisitos:
-
Seu workspace deve estar habilitado para o Unity Catalog.
-
O compute serverless deve ser habilitado para seu workspace. Consulte Requisitos de computação serverless.
-
Para criar uma nova conexão, é preciso ter os privilégios
CREATE CONNECTIONno metastore. Consulte Gerenciar privilégios no Unity Catalog.Se o conector suportar a criação de pipelines baseada na IU, um administrador poderá criar a conexão e o pipeline simultaneamente, ao concluir os passos nesta página. No entanto, se os usuários que criam pipelines usam a autoria de pipeline baseada em API ou são usuários não administradores, um administrador deve primeiro criar a conexão no Catalog Explorer. Consulte Conectar-se a fontes de ingestão gerenciadas.
-
Para usar uma conexão existente: é preciso ter os privilégios
USE CONNECTIONouALL PRIVILEGESno objeto de conexão. -
Você deve ter privilégios
USE CATALOGno catálogo de destino. -
É necessário ter os privilégios
USE SCHEMAeCREATE TABLEem um esquema existente ou os privilégiosCREATE SCHEMAno catálogo de destino.
-
-
Para ingerir do Google Drive, é preciso primeiro configurar o OAuth 2.0 e criar uma conexão do Unity Catalog. Consulte Configurar o Google Drive para ingestão gerenciada.
Criar pipeline de ingestão
Para uma lista de formatos de arquivo compatíveis e limitações específicas do conector, consulte limitações do conector do Google Drive.
- Declarative Automation Bundles
- Databricks notebook
Use Pacotes de Automação Declarativa para gerenciar pipelines do Google Drive como código. Os pacotes podem conter definições YAML de Jobs e tarefas, são gerenciados usando a CLI do Databricks e podem ser compartilhados e executados em diferentes workspaces de destino (como desenvolvimento, preparo e produção). Para obter mais informações, consulte O que são Pacotes de Automação Declarativa?.
-
Crie um pacote utilizando a CLI do Databricks:
Bashdatabricks bundle init -
Adicione dois novos arquivos de recurso ao pacote:
- Um arquivo de definição de pipeline (por exemplo,
resources/gdrive_pipeline.yml). Veja pipeline.definição_de_ingestão e Exemplos. - Um arquivo de definição de Job que controla a frequência da ingestão de dados (por exemplo,
resources/gdrive_job.yml).
- Um arquivo de definição de pipeline (por exemplo,
-
Implante o pipeline usando a CLI do Databricks:
Bashdatabricks bundle deploy
- Importe o seguinte notebook em seu workspace do Databricks:
-
Não modifique a célula um.
-
Modificar a célula três com os detalhes da configuração do pipeline. Veja pipeline.ingestion_definition e Exemplos.
-
Clique em Executar tudo .
Exemplos
Use estes exemplos para configurar o pipeline.
Ingerir arquivos como binário (não estruturados)
Ingerir todos os arquivos de uma pasta do Google Drive como conteúdo binário. Adote esta abordagem para PDFs, documentos do Office e outros arquivos que se pretende processar posteriormente, por exemplo, para aplicativos RAG.
- Declarative Automation Bundles
- Databricks notebook
resources:
pipelines:
gdrive_binary_pipeline:
name: gdrive_binary_pipeline
catalog: main
schema: ingest_destination_schema
channel: PREVIEW
ingestion_definition:
connection_name: <gdrive-connection>
objects:
- table:
destination_catalog: main
destination_schema: ingest_destination_schema
destination_table: drive_folder
connector_options:
gdrive_options:
entity_type: FILE
url: https://drive.google.com/drive/folders/<folder_id>
file_ingestion_options:
format: BINARYFILE
schema_evolution_mode: NONE
pipeline_spec = """
{
"name": "<pipeline-name>",
"catalog": "main",
"schema": "ingest_destination_schema",
"ingestion_definition": {
"connection_name": "<gdrive-connection>",
"objects": [
{
"table": {
"destination_catalog": "main",
"destination_schema": "ingest_destination_schema",
"destination_table": "drive_folder",
"connector_options": {
"gdrive_options": {
"entity_type": "FILE",
"url": "https://drive.google.com/drive/folders/<folder_id>",
"file_ingestion_options": {
"format": "BINARYFILE",
"schema_evolution_mode": "NONE"
}
}
}
}
}
]
},
"channel": "PREVIEW"
}
"""
create_pipeline(pipeline_spec)
Ingerir arquivos estruturados com um filtro de caminho
Ingerir arquivos CSV de uma pasta do Google Drive. Use file_filters para restringir a ingestão a arquivos que correspondam a um padrão glob.
- Declarative Automation Bundles
- Databricks notebook
resources:
pipelines:
gdrive_csv_pipeline:
name: gdrive_csv_pipeline
catalog: main
schema: ingest_destination_schema
channel: PREVIEW
ingestion_definition:
connection_name: <gdrive-connection>
objects:
- table:
destination_catalog: main
destination_schema: ingest_destination_schema
destination_table: csv_files
connector_options:
gdrive_options:
entity_type: FILE
url: https://drive.google.com/drive/folders/<folder_id>
file_ingestion_options:
format: CSV
schema_evolution_mode: NONE
file_filters:
- path_filter: '*.csv'
pipeline_spec = """
{
"name": "<pipeline-name>",
"catalog": "main",
"schema": "ingest_destination_schema",
"ingestion_definition": {
"connection_name": "<gdrive-connection>",
"objects": [
{
"table": {
"destination_catalog": "main",
"destination_schema": "ingest_destination_schema",
"destination_table": "csv_files",
"connector_options": {
"gdrive_options": {
"entity_type": "FILE",
"url": "https://drive.google.com/drive/folders/<folder_id>",
"file_ingestion_options": {
"format": "CSV",
"schema_evolution_mode": "NONE",
"file_filters": [
{ "path_filter": "*.csv" }
]
}
}
}
}
}
]
},
"channel": "PREVIEW"
}
"""
create_pipeline(pipeline_spec)
Ingerir somente metadados de arquivo
Ingerir metadados de arquivo (nome, tamanho, carimbos de data e hora, caminho) sem baixar o conteúdo do arquivo. Utilize esta abordagem quando for necessário um inventário de arquivos sem a sobrecarga de ingerir seu conteúdo.
- Declarative Automation Bundles
- Databricks notebook
resources:
pipelines:
gdrive_metadata_pipeline:
name: gdrive_metadata_pipeline
catalog: main
schema: ingest_destination_schema
channel: PREVIEW
ingestion_definition:
connection_name: <gdrive-connection>
objects:
- table:
destination_catalog: main
destination_schema: ingest_destination_schema
destination_table: file_metadata
connector_options:
gdrive_options:
entity_type: FILE_METADATA
url: https://drive.google.com/drive/folders/<folder_id>
file_ingestion_options:
format: BINARYFILE
schema_evolution_mode: NONE
pipeline_spec = """
{
"name": "<pipeline-name>",
"catalog": "main",
"schema": "ingest_destination_schema",
"ingestion_definition": {
"connection_name": "<gdrive-connection>",
"objects": [
{
"table": {
"destination_catalog": "main",
"destination_schema": "ingest_destination_schema",
"destination_table": "file_metadata",
"connector_options": {
"gdrive_options": {
"entity_type": "FILE_METADATA",
"url": "https://drive.google.com/drive/folders/<folder_id>",
"file_ingestion_options": {
"format": "BINARYFILE",
"schema_evolution_mode": "NONE"
}
}
}
}
}
]
},
"channel": "PREVIEW"
}
"""
create_pipeline(pipeline_spec)
Arquivo de definição de Job de Pacotes de Automação Declarativa
O seguinte é um exemplo de arquivo de definição de job para uso com Pacotes de Automação Declarativa. O Job executa todos os dias, exatamente um dia após a última execução.
- Declarative Automation Bundles
resources:
jobs:
gdrive_job:
name: gdrive_job
trigger:
periodic:
interval: 1
unit: DAYS
email_notifications:
on_failure:
- <email-address>
tasks:
- task_key: refresh_pipeline
pipeline_task:
pipeline_id: ${resources.pipelines.gdrive_binary_pipeline.id}
Configurar opções de ingestão de arquivos
O bloco file_ingestion_options controla como os arquivos são processados. Todas as opções são definidas dentro do bloco gdrive_options.file_ingestion_options na definição do pipeline.
Filtros de arquivos
Utilize file_filters para restringir os arquivos a serem ingeridos do URL de origem:
"file_ingestion_options": {
"format": "CSV",
"file_filters": [
{ "path_filter": "invoices/*.csv" },
{ "modified_after": "2026-01-01T00:00:00" }
]
}
Para a referência completa do parâmetro file_ingestion_options, consulte Referência do conector do Google Drive.
evolução do esquema
Defina schema_evolution_mode para controlar como as novas colunas em arquivos recebidos são tratadas. Os modos são compatíveis com os modos de evolução do esquema do Auto Loader. Para obter detalhes, consulte a referência do conector do Google Drive.
Dicas de esquema
Substituir tipos de coluna inferidos usando schema_hints:
"file_ingestion_options": {
"format": "CSV",
"schema_hints": "order_id INT, amount DOUBLE, ts TIMESTAMP"
}
Consulte Substitua a inferência de esquema com dicas de esquema para obter detalhes de uso.
Opções específicas de formato
Passar opções específicas do formato usando format_options:
"file_ingestion_options": {
"format": "CSV",
"format_options": {
"header": "true",
"sep": ","
}
}
Os parâmetros compatíveis são as opções de formato padrão do Auto Loader. Ver Opções de formato.
Padrões comuns
Para configurações avançadas de pipeline, consulte Padrões comuns para pipelines de ingestão gerenciados.
Passos seguintes
Iniciar, programar e definir alertas no seu pipeline. Veja Tarefas comuns de manutenção de pipelines.