@apache-arrow/adbc-driver-manager

中文文档
0.25.0发布于 2026/10/26Apache-2.0TypeScriptES Module零依赖近 30 天下载 4736

Node.js 亚行司机管理器

中文使用文档
文档目录7 节
  1. 安装
  2. 使用量
  3. 发展
  4. 先决条件
  5. 来源建筑
  6. 测试
  7. 许可证

Apache Arrow ADBC:节点.js 驱动管理器

节点.js 绑定 箭头数据库连接( ADBC) 标准. 土生土长 国家行动计划 addon — 需要节点22+而不是 支持浏览器或Deno环境。 Bun没有正式测试.

阿尔法. API可不经通知而更改. 如果你尝试了这个 遇到问题或有反馈,请 打开一个问题。 。 。 .

安装

npm install @apache-arrow/adbc-driver-manager apache-arrow

使用量

这个 driver 选项接受共享库的完整路径或简短 名称。 使用短名时, 驱动管理器搜索系统和用户 匹配 ADBC 驱动程序列表或库的路径.

import { AdbcDatabase } from '@apache-arrow/adbc-driver-manager'

// Short name (resolves from system/user paths)
const db = new AdbcDatabase({ driver: 'sqlite' })
// Or a full path to a driver shared library
const db = new AdbcDatabase({ driver: '/path/to/libadbc_driver_sqlite.dylib' })

一旦有数据库,打开连接并运行查询:

const connection = await db.connect()

// Execute a query — returns an Apache Arrow Table
const table = await connection.query('SELECT 1 AS value')
console.log(table.toArray())

// For large result sets, stream record batches instead
const reader = await connection.queryStream('SELECT * FROM large_table')
for await (const batch of reader) {
  console.log(`Received batch with ${batch.numRows} rows`)
}

// DML — returns the number of affected rows
const affected = await connection.execute('DELETE FROM my_table WHERE id = 1')

await connection.close()
await db.close()

对于更细纹的控制,直接使用语句 API:

import { tableFromArrays } from 'apache-arrow'

const stmt = await connection.createStatement()
await stmt.setSqlQuery('SELECT * FROM my_table WHERE id = ?')
await stmt.bind(tableFromArrays({ id: [42] }))
const reader = await stmt.executeQuery()
for await (const batch of reader) {
  console.log(batch.toArray())
}
await stmt.close()

发展

先决条件

  • 节点.js 22+
  • 锈(最稳定)
  • CMake 3.14+和一个 C/C++ 编译器(用于建设驱动程序库)
  • npm(通常随节点而来.js)

来源建筑

  1. 安装依赖性 :

    npm install
    
  2. 构建 Rust 添加符 :

    npm run build:debug   # debug build (faster)
    npm run build         # release build
    

测试

测试需要一个已建成的ABBC驱动程序库(例如SQLite). 构建所有包含 SQLite 驱动程序 :

npm run build:driver

运行 CMake 将 CABC 驱动程序编译为 build/lib/ 并建造了"鲁斯特节点"(Rust Node.js addon). 完成测试后:

npm test

许可证

阿帕奇 - 2.0

版本与发布记录

@apache-arrow/adbc-driver-manager 共发布 3 个版本,首次发布于 2026/04/08;过去 12 个月发布了 3 个版本。

版本发布日期距今
0.25.0latest2026/10/2612 天前
0.24.02026/07/283 个月前
0.23.02026/04/086 个月前

关于 @apache-arrow/adbc-driver-manager 的常见问题

@apache-arrow/adbc-driver-manager 是什么?

Node.js 亚行司机管理器

如何安装 @apache-arrow/adbc-driver-manager?

在项目目录运行 npm install @apache-arrow/adbc-driver-manager,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:apache-arrow(^21.1.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@apache-arrow/adbc-driver-manager 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@apache-arrow/adbc-driver-manager 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@apache-arrow/adbc-driver-manager 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@apache-arrow/adbc-driver-manager 可以商用吗?

@apache-arrow/adbc-driver-manager 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@apache-arrow/adbc-driver-manager 的下载量有多少?

根据 npm 官方下载统计,@apache-arrow/adbc-driver-manager 在 2026/10/06 – 2026/11/04 这 30 天内被下载 4,736 次,日均约 158 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@apache-arrow/adbc-driver-manager 还在维护吗?

最新版本 0.25.0 发布于 2026/10/26(12 天前);至今共发布 3 个版本,其中过去 12 个月发布了 3 个;首次发布于 2026/04/08。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。