You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

apache-arrow:如何使用JavaScript API基于Schema创建空Table并解决报错

你代码的问题出在类型引用错误:你导入的Type是FlatBuffer生成的内部枚举定义,仅用作类型ID标识,而Field.new的第二个参数要求传入Arrow的具体类型实例,而非原始枚举值,这才导致框架识别不到类型ID抛出报错。

修复步骤

  1. 移除对../node_modules/apache-arrow/fb/Schema下Type的导入
  2. 从Arrow的主入口导入你需要的对应精度类型构造器,例如双精度浮点数用Float64、32位有符号整数用Int32
  3. 构造字段时传入实例化的类型对象即可

完整可运行代码

import { Schema, Field, Table, Float64, Int32 } from '../node_modules/apache-arrow/Arrow.dom'

// 字段第二个参数传入实例化的具体类型
const field1 = Field.new('field1', new Float64());
const field2 = Field.new('field2', new Int32());

const schema = new Schema([field1, field2]);
const table = Table.empty(schema)

console.log(table)

常用类型参考

如果需要其他类型,可按需替换构造器:

  • 单精度浮点数:new Float32()
  • 64位有符号整数:new Int64()
  • 32位无符号整数:new Uint32()
  • 字符串类型:new Utf8()
  • 布尔类型:new Bool()

生成的空表完全符合指定Schema,后续可直接通过concat等方法追加符合结构的RecordBatch数据。


内容的提问来源于stack exchange,提问作者Rodrigo Belli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 06:24:02