不还原也能导表:从 SQL Server 备份直接读成 Parquet
来源:blog.arpe.io — 2026-11-05
📋 概述
FastBCP 1.6 新增一种连接类型 backup_mssql:指向一个 .bak 文件、给出表名,就能直接产出 Parquet,不需要还原数据库、不需要 SQL Server 实例、也不需要管理凭据。底层驱动 ArpeMSBackup 自己解析备份文件,与 SQL Server 组件无关,支持 2017、2019、2022、2025 的备份。性能数据是重点:320GB 的生产备份首次打开耗时 2 分 29 秒,之后 0.3 秒;用 24 个线程把一张 1.75 亿行的表写成 Parquet 用了 29.6 秒。并行方式是把表切成与并行度相同的片,每片一个线程、产出一个文件。列裁剪通过 --query 给列名列表实现,语法只接受 SELECT * 或列清单,不接受 WHERE。导出的文件可以用 FastTransfer 载入任意版本的 SQL Server 或 PostgreSQL——这一点是 RESTORE 做不到的。
🔑 核心要点
直接从 .bak 文件读表写 Parquet,无需还原、无需实例、无需凭据。
320GB 备份首次打开 2 分 29 秒,之后 0.3 秒;24 线程导出 1.75 亿行用 29.6 秒。
并行按物理切片,每片一线程一文件,列裁剪只支持列清单不支持 WHERE。
导出的 Parquet 可载入比备份来源更老的 SQL Server 版本或 PostgreSQL。
💡 金句
On a 320 GB production backup, the first open took 2 min 29 s and later ones 0.3 s. With 24 threads, a 175-million-row table then went to Parquet in 29.6 seconds.
👍 0
❤️ 点赞
👎 0
沉底
← 返回 Hacker News 首页