Pular para o conteúdo principal

Referência de conector do Google Drive

Esta página contém documentação de referência para o conector do Google Drive no Databricks LakeFlow Connect.

gdrive_options parâmetros

Defina estas opções dentro do bloco connector_options.gdrive_options de cada tabela na sua definição de pipeline.

Parâmetro

Tipo

Obrigatório

Descrição

entity_type

String

Sim

O tipo de entidade de ingestão. Valores compatíveis:

  • FILE: Ingerir conteúdo do arquivo e metadados.
  • FILE_METADATA: Ingerir somente metadados, sem baixar o conteúdo dos arquivos.

url

String

Sim

O URL da pasta do Google Drive ou do drive compartilhado para ingerir. Exemplos:

  • https://drive.google.com/drive/folders/<folder_id>
  • URL de um drive compartilhado

file_ingestion_options

Objeto

Sim

Controla o formato de arquivo e o comportamento de ingestão. Consulte Parâmetros defile_ingestion_options.

file_ingestion_options parâmetros

Defina estas opções dentro de gdrive_options.file_ingestion_options.

Parâmetro

Tipo

Obrigatório

Descrição

format

String

Sim

O formato de arquivo a ser ingerido. Valores suportados: BINARYFILE, CSV, JSON, XML, EXCEL, PARQUET, AVRO, ORC. Utilize BINARYFILE para ingestão não estruturada (arquivos PDF, Office, imagens). Utilize um formato estruturado para analisar o conteúdo do arquivo em linhas.

file_filters

Matriz de objetos

Não

Filtros que restringem quais arquivos são ingeridos. Cada objeto de filtro pode conter uma das seguintes chaves:

  • path_filter (cadeia de caracteres): Um padrão de glob que corresponde a caminhos de arquivo. Com base no filtro de glob de caminho do Spark.
  • modified_before (string): Um carimbo de data/hora no formato YYYY-MM-DDTHH:mm:ss. Somente arquivos modificados antes deste horário são ingeridos.
  • modified_after (string): Um carimbo de data/hora no formato YYYY-MM-DDTHH:mm:ss. Somente arquivos modificados após este horário são ingeridos.

schema_evolution_mode

String

Não

Controla como as novas colunas nos arquivos recebidos são tratadas. Os modos são compatíveis com os modos de evolução do esquema do Auto Loader. Valores suportados: ADD_NEW_COLUMNS_WITH_TYPE_WIDENING (padrão), ADD_NEW_COLUMNS, RESCUE, FAIL_ON_NEW_COLUMNS e NONE.

schema_hints

String

Não

Substitui os tipos de coluna inferidos. Especifique como uma lista delimitada por vírgulas de column_name TYPE pares, por exemplo order_id INT, amount DOUBLE. Veja Substitua a inferência de esquema com dicas de esquema.

format_options

Objeto

Não

Opções de análise específicas do formato. Chaves são nomes de opção de formato padrão do Auto Loader. Ver Opções de formato.

table_configuration parâmetros

Defina estas opções dentro do bloco table_configuration de cada tabela na sua definição de pipeline. table_configuration é um irmão de connector_options, não aninhado dentro dele.

Parâmetro

Tipo

Obrigatório

Descrição

storage_mode

String

Não

O modo de armazenamento para a tabela de destino. Valores compatíveis:

  • SCD_TYPE_1 (default para BINARYFILE): Substitui registros quando arquivos são alterados ou excluídos.
  • APPEND_ONLY (default para formatos estruturados): Adiciona novas linhas de arquivos novos ou atualizados.

Como estes são os defaults e os únicos valores suportados, definir storage_mode explicitamente é opcional. Não use o campo scd_type — ele gera um erro.

Opções de formato

O bloco format_options aceita as chaves de opção de formato padrão do Auto Loader, organizadas abaixo por formato de arquivo. Para obter detalhes, consulte Auto Loader.

JSON

Chave

Descrição

allowBackslashEscapingAnyCharacter

Permite que barras invertidas escapem qualquer caractere.

allowComments

Permite comentários no estilo Java e C++ no conteúdo JSON.

allowNonNumericNumbers

Permite NaN e Infinity como valores flutuantes válidos.

allowNumericLeadingZeros

Permite zeros à esquerda em valores inteiros.

allowSingleQuotes

Permite aspas simples como delimitadores de strings, além de aspas duplas.

allowUnquotedControlChars

Permite caracteres de controle sem aspas em strings JSON.

allowUnquotedFieldNames

Permite nomes de campo sem aspas.

badRecordsPath

Caminho para armazenar registros corrompidos ou não processáveis em vez de interromper o pipeline.

charset / encoding

Codificação de caracteres do arquivo (por exemplo, UTF-8, ISO-8859-1).

dateFormat

Padrão para analisar strings de data (por exemplo, yyyy-MM-dd).

dropFieldIfAllNull

Ignora colunas onde todos os valores são nulos ou vazios durante a inferência de esquema.

inferTimestamp

Infere TimestampType para strings que correspondem a um padrão de marca temporal.

lineSep

Caractere ou string de separador de linha.

locale

Locale para análise de datas e números (por exemplo, en-US).

mode

Comportamento para registros malformados: PERMISSIVE (default), DROPMALFORMED ou FAILFAST.

multiLine

Analisa registros que abrangem múltiplas linhas

prefersDecimal

Infire DecimalType ao invés de FloatType ou DoubleType quando possível.

primitivesAsString

Se inferir todos os valores primitivos como StringType.

readerCaseSensitive

Habilita a correspondência de nomes de coluna que diferencia maiúsculas e minúsculas com o esquema.

timestampFormat

Padrão para analisar strings de timestamp (por exemplo, yyyy-MM-dd'T'HH:mm:ss).

timeZone

Fuso horário para analisar carimbos de data/hora (por exemplo, UTC, America/New_York).

CSV

Oferece suporte a todas as opções JSON acima, além das seguintes opções específicas de CSV:

Chave

Descrição

charToEscapeQuoteEscaping

Caractere de escape usado antes de uma aspa dentro de um campo entre aspas.

comment

Caractere que marca uma linha como um comentário; linhas que começam com este caractere são ignoradas.

delimiter / sep

Caractere delimitador de coluna (padrão: ,).

emptyValue

String a ser usada para valores vazios ao escrever.

enforceSchema

Aplica o esquema declarado aos dados CSV, ignorando os nomes de cabeçalho.

escape

Caractere de escape (default: \).

header

Se a primeira linha contém os nomes das colunas (default: false).

ignoreLeadingWhiteSpace

Apara espaços em branco iniciais dos valores.

ignoreTrailingWhiteSpace

Apara espaços em branco à direita dos valores.

maxCharsPerColumn

Número máximo de caracteres permitido por valor de coluna.

maxColumns

Número máximo de colunas permitido em um registro.

mergeSchema

Mescla o esquema em vários arquivos CSV.

nanValue

Representação de string de NaN.

negativeInf

Representação de string do infinito negativo.

nullValue

String que representa um valor nulo.

parserCaseSensitive

Permite a correspondência com diferenciação de maiúsculas e minúsculas entre nomes de cabeçalhos e nomes de campos de esquema.

positiveInf

Representação de string do infinito positivo.

preferDate

Infere DateType para strings semelhantes a datas em vez de TimestampType.

quote

Caractere de citação usado para envolver valores de campo que contêm o delimitador (padrão: ").

skipRows

Número de linhas a serem ignoradas no início do arquivo antes do cabeçalho ou dos dados.

unescapedQuoteHandling

Como lidar com aspas sem escape em campos entre aspas.

XML

Chave

Descrição

arrayElementName

Nome do elemento XML que envolve cada item da matriz ao escrever.

attributePrefix

Prefixo adicionado aos nomes dos atributos XML para distingui-los dos nomes dos elementos (default: _).

compression

Codec de compressão para leitura (por exemplo, gzip, bzip2).

declaration

String de declaração XML a ser pré-anexada ao escrever.

encoding

Codificação de caracteres do arquivo XML.

excludeAttribute

Exclui atributos de elementos XML da análise.

ignoreSurroundingSpaces

Ignorar espaços em branco ao redor dos valores do elemento.

ignoreNamespace

Ignora os prefixos de namespace XML durante a análise.

locale

Localidade para analisar datas e números.

mode

Comportamento para registros malformados: PERMISSIVE, DROPMALFORMEDou FAILFAST.

nullValue

String que representa um valor nulo.

rootTag

Nome da tag do elemento raiz.

rowTag

Tag de elemento XML que identifica cada linha (obrigatório).

rowValidationXSDPath

Caminho para um arquivo de esquema XSD para validar cada elemento de linha.

samplingRatio

Fração de linhas amostradas para inferência de esquema (default: 1.0).

timestampFormat

Padrão para analisar strings de carimbo de data/hora

timestampNTZFormat

Padrão para analisar strings de carimbo de data/hora sem fuso horário.

timeZone

Fuso horário para análise de carimbos de data/hora.

validateName

Valida que os nomes de elementos XML estejam em conformidade com a especificação XML.

valueTag

Nome da tag usado para valores de texto em elementos que também têm atributos (default: _VALUE).

Parquet

Chave

Descrição

datetimeRebaseMode

Tratamento para datas e carimbos de data/hora escritos em formato de calendário juliano: EXCEPTION, CORRECTED ou LEGACY.

int96RebaseMode

Gerenciamento de carimbos de data/hora INT96 gravados no formato de calendário Juliano: EXCEPTION, CORRECTED ou LEGACY.

mergeSchema

Merge o esquema em vários arquivos Parquet.

Avro

Chave

Descrição

avroSchema

Esquema Avro no formato de strings JSON. Utilizado para impor um esquema específico durante as leituras.

datetimeRebaseMode

Tratamento para datas e carimbos de data/hora escritos em formato de calendário juliano: EXCEPTION, CORRECTED ou LEGACY.

mergeSchema

Mescla o esquema em vários arquivos Avro.

Formato de dados ingeridos

O esquema da tabela de destino depende de entity_type e format configurados.

BINARYFILE tipo de entidade (Arquivo)

Quando entity_type for FILE e format for BINARYFILE, cada arquivo ingerido se torna uma linha com as seguintes colunas:

campo

Tipo

Descrição

file_id

String

O identificador do Google Drive do arquivo.

file_metadata

Struct

Contém metadados de arquivo genéricos:

  • name (string): O nome do arquivo, como aparece no Google Drive.
  • size_in_bytes (bigint): O tamanho do arquivo.
  • created_timestamp (timestamp): O carimbo de data e hora em que o arquivo foi criado no Google Drive.
  • last_modified_timestamp (timestamp): o carimbo de data e hora em que o arquivo foi modificado pela última vez no Google Drive.
  • created_by_email (string): O endereço de e-mail do usuário que criou o arquivo. Pode ser nulo se não disponível.
  • last_modified_by_email (string): O endereço de email do último usuário que modificou o arquivo. Pode ser nulo se não disponível.

_file_metadata

Struct

Contém metadados específicos do Google Drive para o arquivo:

  • drive_id (string): O identificador do Google Drive do drive compartilhado. Nulo para arquivos no Meu Drive.
  • file_folder_path (string): O caminho do arquivo no Google Drive.
  • mime_type (string): O tipo MIME do arquivo.
  • web_url (string): Um link para o arquivo no Google Drive.

content

Struct

Contém conteúdo do arquivo.

_metadata

Struct

Metadados de arquivo padrão adicionados pelo Databricks durante a ingestão. Contém informações do arquivo de origem, como caminho e hora da modificação.

Tipo de entidade estruturada (ARQUIVO com formato estruturado)

Quando entity_type é FILE e format é um formato estruturado (CSV, JSON, XML, EXCEL, PARQUET, AVRO ou ORC), o esquema da tabela de destino corresponde ao esquema dos arquivos de origem. As colunas são inferidas a partir do conteúdo do arquivo, sujeitas às configurações schema_evolution_mode e schema_hints.

FILE_METADATA tipo de entidade

Quando entity_type for FILE_METADATA, o conteúdo do arquivo não é baixado. A tabela de destino contém apenas as colunas de metadados das estruturas file_metadata e _file_metadata descritas acima, além de file_id.