Ir para o conteúdo principal
Plataforma

Apresentando o tipo FILE: um tipo de coluna nativo para dados multimodais

O tipo FILE torna seus documentos, imagens, vídeos e outros dados não estruturados nativos do seu lakehouse e prontos para AI.

por Michael Armbrust, Burak Yavuz, Dejan Krakovic e John Spencer

  1. O FILE é um novo tipo de coluna, atualmente em beta, que armazena dados não estruturados, como documentos, imagens, áudio e vídeo, de forma nativa em suas tabelas.
  2. O FILE permite uma governança unificada, na qual você pode aplicar exatamente os mesmos controles de acesso refinados e políticas de segurança aos seus arquivos brutos que aplica às suas tabelas padrão
  3. Estamos trabalhando com a comunidade para criar suporte diretamente no Parquet, Delta Lake, Iceberg e Spark, para que todo o ecossistema possa aproveitá-lo e seus dados permaneçam portáteis.

Seu patrimônio de dados contém muito mais do que tabelas estruturadas, métricas e logs de transações — ele contém contratos, imagens de produtos, gravações de chamadas e vídeos. A AI agora pode transformar esses dados não estruturados em algo que você pode consultar e analisar, mas apenas se eles forem governados e gerenciados junto com todo o resto.

Hoje estamos anunciando o beta do tipo FILE: um novo tipo de coluna que armazena dados não estruturados como uma coluna nativa e governada em suas tabelas. Com o FILE, seus dados não estruturados estão prontos para AI: podem ser consultados, protegidos e gerenciados diretamente ao lado de seus dados estruturados, em vez de ficarem em um sistema separado. Os benefícios do FILE incluem:

  • Governança unificada. Aplique exatamente os mesmos controles de acesso refinados e políticas de segurança aos seus arquivos brutos que você aplica às suas tabelas padrão.
  • Conformidade automatizada. Quando você exclui uma linha que contém um FILE, o binário do arquivo também é excluído no armazenamento de objetos, facilitando o cumprimento do "direito ao esquecimento" do GDPR.
  • Suporte a SQL e Python. Execute UDFs padrão de SQL e Python diretamente em arquivos não estruturados, como em qualquer coluna normal, e crie exibições materializadas para executar funções de AI de forma incremental.
  • Alta performance por design. As colunas FILE armazenam apenas ponteiros leves em vez de binários de arquivos pesados, e processam apenas o conteúdo real do arquivo quando uma consulta precisa dele explicitamente

O FILE é uma inovação que estamos impulsionando de forma aberta: estamos trabalhando com a comunidade para criar suporte diretamente no Parquet, Delta Lake, Apache Iceberg e Apache Spark, para que todo o ecossistema possa aproveitá-lo. Isso mantém seus dados multimodais abertos e portáteis, para que você nunca fique preso a um único fornecedor ou provedor de modelo.

O que você pode fazer com o tipo FILE

Hoje, suas equipes de dados querem criar aplicativos em dados multimodais para gerar impacto nos negócios:

  • Assistentes de documentos empresariais em contratos, políticas e pesquisas — transformando a papelada em uma base de conhecimento interativa.
  • Inspeção visual em imagens de produtos — detectando defeitos em escala em vez de inspecionar visualmente cada um deles.
  • Análise de chamadas em gravações de áudio — identificando por que os clientes convertem ou cancelam (churn) a partir de conversas que você já possui.
  • Compreensão de vídeo sobre eventos — tornando horas de gravação pesquisáveis e consultáveis.
  • Recuperação multimodal para agentes que precisam citar e agir com base em evidências reais, não apenas em texto.

O FILE reduz o atrito em todo o ciclo de vida dos dados multimodais — desde a análise exploratória e o treinamento do modelo até o fornecimento de dados para agentes em tempo real. Para demonstrar isso, vamos examinar um exemplo, mas você pode substituí-lo pelo seu próprio caso de uso enquanto lê.

Vamos começar nosso exemplo com uma pergunta direta do CEO de uma empresa de direção autônoma:

Podemos reduzir o número de paradas aleatórias? Quando nosso carro autônomo para sem motivo aparente, os passageiros perdem a confiança em nosso serviço

Os dados necessários para resolver isso são não estruturados: vídeos de câmeras de painel (dashcam) capturados de cada carro autônomo. Veja como o FILE deixa esses dados prontos para AI para que possamos atender à solicitação do CEO

  1. Você começa criando uma coluna de FILEs — crie uma tabela com uma coluna FILE que lê do volume de armazenamento que contém os vídeos da dashcam

image4.png

Figura 1: Diagrama conceitual demonstrando uma coluna FILE armazenando vídeos

  1. Adicione uma footage coluna com o tipo FILE, mapeando cada clipe no armazenamento de objetos para uma linha
  2. A tabela agora contém essa coluna FILE ao lado dos metadados estruturados
  3. Um desses clipes da dashcam mostra o carro parando sem motivo claro — um exemplo do que precisamos descobrir e investigar

Abaixo está um exemplo de sintaxe para criar uma tabela com uma coluna FILE. Para testar a execução completa de um pipeline de processamento de arquivos usando FILE, consulte a documentação complementar, que inclui notebooks de exemplo.

  1. Processe os vídeos da dashcam com alto desempenho. Como a coluna é do tipo FILE, você pode trabalhar com ela como qualquer outra coluna: use funções de AI integradas ou suas próprias UDFs do Python. Aqui, uma UDF extrai uma amostra de quadro de cada clipe em uma nova coluna FILE de imagens, e um modelo de detecção de objetos adiciona mais uma coluna aos metadados que você já possui — indicando se o carro realmente tem um perigo à sua frente que exige uma parada.

image2.png

Figura 2: Diagrama demonstrando FILEs de vídeo processados

  1. Um quadro amostrado vai para uma nova frame coluna, novamente do tipo FILE
  2. Executamos uma função diretamente nessa coluna FILE para obter o valor hazard para cada quadro
  3. O clipe parado retorna com hazard = none — este é o insight que estamos procurando

A grande vantagem de usar o FILE é que você pode trabalhar facilmente com gigabytes de vídeo sem prejudicar o desempenho da consulta. Como a coluna FILE contém uma referência leve, o mecanismo extrai os bytes reais apenas na etapa que precisa deles. Compare isso com a codificação do binário bruto na tabela, onde cada operação arrasta o binário grande pela memória do mecanismo e prejudica o desempenho.

  1. Responda à pergunta do CEO. Agora, um agente pode analisar todo o seu patrimônio de dados multimodal — juntando as informações extraídas aos dados estruturados da viagem para exibir todos os vídeos em que o carro parou repentinamente sem nenhum perigo à frente.

image3.png

Figura 3: Diagrama demonstrando a consulta a uma tabela multimodal

  1. Uma consulta junta a coluna hazard extraída aos dados estruturados da viagem, filtrando os vídeos em que o carro parou totalmente com a pista livre à frente
  2. A partir daqui, sua equipe de machine learning pode selecionar facilmente conjuntos de treinamento para aprimorar o sistema de direção autônoma

Agora, o agente pode responder à pergunta com rapidez e precisão porque tudo reside em uma única linha: o quadro de vídeo original como verdade fundamental (ground truth), o embedding, os insights extraídos (como perigos presentes) e os metadados da viagem (velocidade, carimbo de data/hora, etc.) ficam lado a lado.

Muitas vezes vemos clientes tentarem resolver casos de uso como este armazenando na tabela uma string de URL que contém o caminho para o arquivo. No entanto, essas strings são governadas por um sistema totalmente diferente de permissões amplas no nível de pasta. Agora você é forçado a manter dois modelos de permissão para um único conjunto de dados, e um filtro de linha que protege um caminho não faz nada para proteger o vídeo no final dele.

Resolvemos esse desafio de governança integrando o FILE ao Unity Catalog, onde os FILEs também são protegidos por controles de acesso em nível de linha e coluna, bem como controle de acesso baseado em atributos (ABAC), garantindo que as pessoas certas tenham acesso aos seus dados.

Outro problema que as equipes enfrentam hoje é a coordenação do ciclo de vida de seus dados não estruturados. Se alguém excluir um vídeo no armazenamento de objetos, a tabela não terá ideia da política de ciclo de vida do armazenamento e eles não saberão nada um sobre o outro, deixando você com uma referência que aponta para o nada.

Com o FILE, o ciclo de vida do vídeo acompanha sua linha no conjunto de dados: exclua uma linha e os dados e sua referência permanecerão sincronizados - sem arquivos órfãos, sem lacunas de conformidade. Agora suas equipes podem agir rapidamente sem se preocupar com solicitações de direito ao esquecimento (por exemplo, GDPR) e com a busca manual para encontrar cada cópia dos dados.

O FILE é integrado às ferramentas que você já usa

O FILE agora permite que seus dados não estruturados se beneficiem da mesma base aberta, modelo de governança e stack de IA que você já usa para dados estruturados.

  • Faça a ingestão sem esforço ou faça referência no local. Conecte-se diretamente a fontes como SharePoint e Google Drive com conectores Lakeflow com cliques simples. Ou, se seus dados já estiverem no armazenamento em nuvem ou on-premises, as colunas FILE podem fazer referência a eles exatamente onde estão - sem a necessidade de movimentação de dados.
  • Crie pipelines multimodais com o Spark Declarative Pipelines. O processamento incremental de dados não estruturados é mais importante do que nunca, pois cada documento reprocessado pode significar uma chamada de API de modelo cara. E, assim como em seus pipelines de dados tradicionais, você não deve ter engenheiros acordados às 3h da manhã quando um único arquivo falha. Com o FILE e o SDP, você declara as tabelas multimodais que deseja e o DAG se resolve sozinho. A ingestão é incremental, de modo que apenas novos documentos são processados. A tentativa de repetição e a recuperação são integradas, de modo que uma falha transitória não significa recomeçar do zero.
  • Use qualquer modelo para processar seus dados não estruturados, incluindo as melhores funções de IA da categoria. Execute AI_PARSE_DOCUMENT, AI_QUERY e suas próprias UDFs diretamente sobre a coluna FILE para transformar documentos brutos, imagens e vídeos nas colunas estruturadas que seus agentes e analistas já consultam.
    E como o Databricks foi desenvolvido para ambientes multicloud desde o início, o FILE se adapta naturalmente a diferentes provedores de nuvem, oferecendo à sua equipe um lakehouse unificado.

Comece a usar o tipo FILE

O tipo FILE já está disponível em versão Beta e adoraríamos receber seu feedback. Leia a documentação do Beta para ver a lista completa do que você pode testar hoje e obter orientações passo a passo.

Este é apenas o começo para o tipo FILE, e temos um roadmap empolgante de recursos em breve que acelerará seus projetos de IA, incluindo:

  • Experimente mais rápido sem custo extra. Treinar e iterar em um conjunto de dados não deve significar a duplicação de terabytes de dados não estruturados. O FILE permite que você versione e clone dados sem copiar os binários subjacentes e faça referência aos mesmos bytes de várias tabelas ao mesmo tempo. Por exemplo, um agente de machine learning pode criar um sandbox isolado com dados reais, e a linhagem rastreia qualquer regressão até o ativo exato que a causou.
  • Transmita conjuntos de dados diretamente para o PyTorch. Execute consultas SQL em seus dados FILE e carregue instantaneamente os resultados em PyTorch Datasets nativos, entregando tensores prontos para GPU diretamente para seus loops de treinamento, sem preparação de dados extra.
  • Engenharia de atributos sem reescrever a tabela. Adicione ou faça o backfill de uma coluna derivada, como texto extraído, um embedding ou uma classificação, sem reescrever toda a tabela, incluindo grandes binários dos dados não estruturados de origem.
  • Uma única cópia de seus dados não estruturados para análise e serving. Pesquise e recupere diretamente da tabela, com índices de vetor, texto completo e busca pontual na própria tabela, para que sua camada de recuperação e sua fonte da verdade sejam o mesmo lakehouse.

Se quiser saber mais sobre como estamos otimizando as cargas de trabalho de IA no Databricks, entre em contato com a equipe de conta do Databricks.

(Esta publicação no blog foi traduzida utilizando ferramentas baseadas em inteligência artificial) Publicação original

Receba os posts mais recentes na sua caixa de entrada

Assine nosso blog e receba os posts mais recentes diretamente na sua caixa de entrada.