Databricks推出FILE类型:原生多模态数据列
译文 AI 逐段翻译
您的数据资产包含的远不止结构化表、指标和交易日志,还包括合同、产品图片、通话录音和视频。AI 现在可以将这些非结构化数据转化为可查询和分析的内容,但前提是这些数据与其他数据一同得到治理和管理。
今天,我们宣布 FILE 类型的测试版:这是一种新的列类型,可将非结构化数据作为表中的原生治理列存储。借助 FILE,您的非结构化数据即可为 AI 做好准备:可查询、安全,并与结构化数据一起管理,而不是存储在单独的系统中。FILE 的优势包括:
- 统一治理。对原始文件实施与标准表完全相同的细粒度访问控制和安全策略。
- 自动合规。当您删除包含 FILE 的行时,该文件的二进制内容也会在对象存储中被删除,使 GDPR 的“被遗忘权”变得轻而易举。
- SQL 和 Python 支持。直接对非结构化文件运行标准 SQL 和 Python UDF,就像对普通列一样,并构建物化视图以增量运行 AI 函数。
- 高性能设计。 FILE 列仅存储轻量级指针,而非庞大的文件二进制,并且仅在查询明确需要时才处理实际文件内容。
FILE 是我们正在开源社区推动的一项创新:我们正与社区合作,将支持直接构建到 Parquet, Delta Lake, Apache Iceberg 和 Apache Spark 中,以便整个生态系统都能利用它。这使您的多模态数据保持开放和可移植,确保您永远不会被锁定在单一供应商或模型提供商。
FILE 类型的用途
如今,您的数据团队希望基于多模态数据构建应用,以推动业务影响:
- 企业文档助手,涵盖合同、政策和研究,将文书工作转变为交互式知识库。
- 视觉检查,针对产品图片,大规模捕捉缺陷,而不是逐一检查。
- 通话分析,基于音频录音,从您已有的对话中揭示客户转化或流失的原因。
- 视频理解,针对事件,使数小时的录像可搜索、可查询。
- 多模态检索,供需要引用并基于真实证据(而非仅文本)行动的智能体使用。
FILE 减少了多模态数据整个生命周期中的摩擦——从探索性分析,到模型训练,再到实时向智能体提供数据。为演示这一点,我们将通过一个示例进行说明,但您可以边阅读边替换为您自己的用例。
让我们从一个自动驾驶公司 CEO 提出的尖锐问题开始我们的示例:
我们能否减少随机停车?当我们的自动驾驶汽车无故停车时,乘客会对我们的服务失去信心。
解决此问题所需的数据是非结构化的,即每辆自动驾驶汽车捕获的行车记录仪视频。以下是 FILE 如何使这些数据为 AI 做好准备,以便我们响应 CEO 的请求。
- 您首先创建一个 FILE 列——创建一个带有 FILE 列的表,该列从存储卷读取行车记录仪视频。

图 1:展示 FILE 列存储视频的概念图
- 添加一个
footage列,类型为 FILE,将对象存储中的每个片段映射到一行。 - 该表现在在结构化元数据旁边持有该 FILE 列。
- 其中一个行车记录仪片段显示汽车无故停车——这是我们需要发现和调查的一个示例。
以下是创建带有 FILE 列的表的示例语法。要试用使用 FILE 的完整文件处理流水线,请参阅 随附文档,其中包含示例笔记本。
- 高性能处理行车记录仪视频。由于列类型为 FILE,您可以像对待任何其他列一样处理它:使用 内置 AI 函数 或您自己的 Python UDF。此处,一个 UDF 从每个片段中采样一帧到 新的 FILE 图像列中,一个对象检测模型为您已有的元数据再添加一列——指示汽车前方是否实际存在需要停车的危险。

图 2:展示处理过的视频 FILE 的图
- 一个采样帧落入新的
frame列,同样类型为 FILE。 - 我们直接在该 FILE 列上运行一个函数,以获取每个帧的
hazard值。 - 停止的片段返回
hazard = none——这就是我们想要获得的洞察。
使用 FILE 的好处在于,您可以轻松处理千兆字节的视频,而不会影响查询性能。由于 FILE 列持有轻量级引用,引擎仅在需要时提取实际字节。这与在表中编码原始二进制形成对比,后者每个操作都会将大的二进制拖过引擎的内存并阻碍性能。
- 回答 CEO 的问题。 现在,一个智能体可以推理您的整个多模态数据资产——将提取的信息与结构化行程数据连接,以呈现汽车在无危险前突然停车的每个视频。

图 3:展示查询多模态表的图
- 一个查询将提取的
hazard列与结构化行程数据连接,过滤出汽车在道路畅通时完全停车的视频。 - 从这里,您的机器学习团队可以轻松整理训练集,以改进自动驾驶系统。
智能体现在可以快速准确地回答问题,因为一切都位于一行中:原始视频帧作为事实依据,嵌入、提取的洞察(如存在的危险)以及行程元数据(速度、时间戳等)都并排放置。
我们经常看到客户尝试通过将包含文件路径的 URL 字符串存储在表中来解决此类用例。然而,这些字符串由完全不同的系统以宽泛的文件夹级权限进行治理。您现在被迫为一个数据集维护两种权限模型,并且保护 路径 的行过滤器对保护路径末尾的视频毫无作用。
我们通过将 FILE 集成到 Unity Catalog 中解决了这一治理挑战,FILE 还受到行级和列级访问控制以及基于属性的访问控制(ABAC)的保护,确保合适的人员能够访问您的数据。
团队今天面临的另一个问题是协调非结构化数据的生命周期。如果有人在对象存储中删除了一个视频,表不知道存储生命周期策略,表和存储互不知道对方,因此您会留下一个指向空白的引用。
使用 FILE,视频的生命周期随数据集中的行一起移动:删除一行,数据和其引用保持同步——没有孤立文件,没有合规性缺口。现在您的团队可以快速行动,而无需担心被遗忘权请求(例如 GDPR)以及手动寻找每个数据副本的麻烦。
FILE 与您已使用的工具集成
FILE 现在使您的非结构化数据能够受益于您已经用于结构化数据的相同开放基础、治理模型和 AI 堆栈。
- 轻松摄取或就地引用。 通过点击式 Lakeflow 连接器直接连接到 SharePoint 和 Google Drive 等来源。或者,如果您的数据已存在于云存储或本地,FILE 列可以在原位置引用它——无需数据移动。
- 使用 Spark 声明式管道构建多模态管道。 增量处理非结构化数据比以往任何时候都重要,因为每个重新处理的文档都可能意味着昂贵的模型 API 调用。并且就像您的传统数据管道一样,当某个文件失败时,您不应该让工程师凌晨 3 点起床。使用 FILE 和 SDP,您声明所需的多模态表,DAG 自行解析。摄取是增量的,因此只处理新文档。重试和恢复内置,因此临时故障并不意味着重新开始。
- 使用任何模型处理您的非结构化数据,包括一流的 AI 函数。直接在 FILE 列上运行
AI_PARSE_DOCUMENT、AI_QUERY以及您自己的 UDF,将原始文档、图像和视频转换为您的代理和分析师已经查询的结构化列。并且由于 Databricks 从一开始就是为多云环境构建的,FILE 自然适用于各云提供商,同时为您的团队提供一个统一的湖仓一体。
开始使用 FILE 类型
FILE 类型现在以 Beta 版本提供,我们非常期待您的反馈。 阅读 Beta 文档 了解今天可以尝试的全部功能以及分步指南。
这只是 FILE 类型的开始,我们有一个激动人心的功能路线图即将推出,将加速您的 AI 项目,包括:
- 无额外成本地加速实验。 在数据集上进行训练和迭代不应意味着复制数 TB 的非结构化数据。FILE 允许您在不复制底层二进制文件的情况下对数据进行版本控制和克隆,并同时从多个表引用相同的字节。例如,机器学习代理可以在真实数据上启动隔离沙箱,血缘追踪任何回归到导致它的确切资产。
- 将数据集直接流式传输到 PyTorch。对您的 FILE 数据执行 SQL 查询,并立即将结果加载到原生 PyTorch 数据集中,将 GPU 就绪的张量直接送入训练循环,无需额外数据准备。
- 无需重写表的特征工程。添加或回填派生列,如提取的文本、嵌入或分类,而无需重写整个表,包括源非结构化数据的大型二进制文件。
- 一份非结构化数据同时用于分析和服务。 通过表上的向量、全文和点查找索引,直接从表中搜索和检索,因此您的检索层和真实来源是同一个湖仓一体。
如果您想了解更多关于我们如何在 Databricks 中优化 AI 工作负载,请联系您的 Databricks 客户团队。