@apache-arrow/es2015-cjs

中文文档
21.2.0发布于 2026/07/21Apache-2.0TypeScriptCommonJS近 30 天下载 2万

Apache 箭头列格式

中文使用文档
文档目录18 节
  1. 安装 apache-arrow 国家防范机制
  2. 记忆分析电源
  3. 开始
  4. 烹饪本
  5. 从磁盘上的箭头文件获取表格( 以 IPC 格式)
  6. 当箭头文件被分拆为缓冲时创建一个表格
  7. 从 JavaScript 数组创建表格
  8. 装入数据 fetch
  9. 矢量像JS阵列
  10. 字符串向量
  11. 参与
  12. 包装
  13. 为什么我们这样包装
  14. 支持的浏览器和平台
  15. 人员
  16. 由 Apache 箭头 Java 脚本提供动力
  17. 开源项目
  18. 许可证

Apache 箭头 Java 脚本

npm version

Apache 箭头 是一个通用的专栏格式和多语言工具箱,用于快速数据交换和内相分析. 它包含一套技术,使数据系统能够高效地存储,处理并移动数据.

安装 apache-arrow 国家防范机制

npm install apache-arrow 或者说 yarn add apache-arrow

(阅读我们如何 软件包全页 (见下文)

记忆分析电源

Apache Arrow是用于编码向量和平面和嵌入式数据的桌状容器的一列内存布局规格. Arrow spec对内存中的列数据进行校正,以将缓存缺失降至最小,并充分利用现代处理器上最新的SIMD(单输入多数据)和GPU操作.

Apache Arrow是大型内相列数据(闪光, (中文(简体) ), 熊猫, (中文(简体) ), 钻探, (中文(简体) ), 图形学(中文(简体) ). 通过将通用的二进制交换格式标准化,大数据系统可以降低与跨系统通信相关的成本和摩擦.

开始

看看我们 API 文档 来学习如何使用 Apache Arrow JavaScript 。 您也可以通过查看以下资源来学习:

烹饪本

从磁盘上的箭头文件获取表格( 以 IPC 格式)

import { readFileSync } from 'fs';
import { tableFromIPC } from 'apache-arrow';

const arrow = readFileSync('simple.arrow');
const table = tableFromIPC(arrow);

console.table(table.toArray());

/*
 foo,  bar,  baz
   1,    1,   aa
null, null, null
   3, null, null
   4,    4,  bbb
   5,    5, cccc
*/

当箭头文件被分拆为缓冲时创建一个表格

import { readFileSync } from 'fs';
import { tableFromIPC } from 'apache-arrow';

const table = tableFromIPC([
    'latlong/schema.arrow',
    'latlong/records.arrow'
].map((file) => readFileSync(file)));

console.table([...table]);

/*
        origin_lat,         origin_lon
35.393089294433594,  -97.6007308959961
35.393089294433594,  -97.6007308959961
35.393089294433594,  -97.6007308959961
29.533695220947266, -98.46977996826172
29.533695220947266, -98.46977996826172
*/

从 JavaScript 数组创建表格

import { tableFromArrays } from 'apache-arrow';

const LENGTH = 2000;

const rainAmounts = Float32Array.from(
    { length: LENGTH },
    () => Number((Math.random() * 20).toFixed(1)));

const rainDates = Array.from(
    { length: LENGTH },
    (_, i) => new Date(Date.now() - 1000 * 60 * 60 * 24 * i));

const rainfall = tableFromArrays({
    precipitation: rainAmounts,
    date: rainDates
});

console.table([...rainfall]);

装入数据 fetch

import { tableFromIPC } from "apache-arrow";

const table = await tableFromIPC(fetch("/simple.arrow"));

console.table([...table]);

矢量像JS阵列

您可以用 JavaScript 键入数组创建向量 makeVector 并来自 JavaScript 数组 vectorFromArray。 。 。 . makeVector 速度快得多,不需要复制.

import { makeVector } from "apache-arrow";

const LENGTH = 2000;

const rainAmounts = Float32Array.from(
    { length: LENGTH },
    () => Number((Math.random() * 20).toFixed(1)));

const vector = makeVector(rainAmounts);

const typed = vector.toArray()

assert(typed instanceof Float32Array);

for (let i = -1, n = vector.length; ++i < n;) {
    assert(vector.get(i) === typed[i]);
}

字符串向量

字符串可以编码为UTF-8或字典编码为UTF-8. 字典编码为重复值,效率更高. 您可以方便地创建编码字符串的字典 vectorFromArray 或高效使用 makeVector。 。 。 .

import { makeVector, vectorFromArray, Dictionary, Uint8, Utf8 } from "apache-arrow";

const utf8Vector = vectorFromArray(['foo', 'bar', 'baz'], new Utf8);

const dictionaryVector1 = vectorFromArray(
    ['foo', 'bar', 'baz', 'foo', 'bar']
);

const dictionaryVector2 = makeVector({
    data: [0, 1, 2, 0, 1],  // indexes into the dictionary
    dictionary: utf8Vector,
    type: new Dictionary(new Utf8, new Uint8)
});

参与

见 发达国家d

即使你不打算为 Apache 箭头本身或箭头做出贡献 融入其他项目,我们很乐意你参与:

我们更希望收到以GitHub拉出请求的形式提供的捐款. 请发送拉 请求反对 github.com/apache/arrow-js (英语) 仓库.

如果你在寻找一些想法 什么贡献,检查一下 GitHub 图像 问题 用于Apache箭头项目。 对这个问题的评论和/或联系 页面存档备份,存于互联网档案馆 [email protected] 你的问题和想法.

如果你想要报告一个错误 或邮寄邮件列表 页面存档备份,存于互联网档案馆 [email protected]

包装

apache-arrow 以TypeScript写作,但项目被编译成多个JS版本和通用模块格式.

基础 apache-arrow 软件包包括所有编译目标,以方便,但如果你对自己的 node_modules 脚印,我们得到了你.

这些目标也在《公约》下公布 @apache-arrow 名称空间 :

npm install apache-arrow # <-- combined es2015/CommonJS/ESModules/UMD + esnext/UMD
npm install @apache-arrow/ts # standalone TypeScript package
npm install @apache-arrow/es5-cjs # standalone es5/CommonJS package
npm install @apache-arrow/es5-esm # standalone es5/ESModules package
npm install @apache-arrow/es5-umd # standalone es5/UMD package
npm install @apache-arrow/es2015-cjs # standalone es2015/CommonJS package
npm install @apache-arrow/es2015-esm # standalone es2015/ESModules package
npm install @apache-arrow/es2015-umd # standalone es2015/UMD package
npm install @apache-arrow/esnext-cjs # standalone esNext/CommonJS package
npm install @apache-arrow/esnext-esm # standalone esNext/ESModules package
npm install @apache-arrow/esnext-umd # standalone esNext/UMD package

为什么我们这样包装

联合来文社区是一个多样化的群体,有各种各样的目标环境和工具链清单。 出版多套包可容纳所有条纹的项目.

如果你认为我们错过了一个编译目标 而这是一个阻碍收养的, 请打开一个问题.

支持的浏览器和平台

我们编译的捆绑支持现代浏览器在过去五年中发行. 包括支持的版本 火狐、克罗姆、边缘和萨法里 我们不积极支持Internet Explorer. Apache 箭头也在工作 维持的节点版本。 。 。 .

人员

Apache 箭头的完整列表 犯罪者。 。 。 .

  • 布莱恩·胡莱特, 罪犯
  • 保罗·泰勒, 罪犯
  • 多米尼克·莫里兹, 罪犯

由 Apache 箭头 Java 脚本提供动力

Apache 箭头的完整列表 项目和组织。 。 。 .

开源项目

  • Apache 箭头 - 为记忆分析提供动力的父项目,包括附属的开源项目
  • 视角 - Perspective是一个交互式分析和数据可视化组件,非常适合大型和(或)流数据组。 视角杠杆箭 C++ 编译为 Web Assembly .
  • 猎鹰 是一个可视化工具,用于在成百上千万或数十亿记录的多组可视化中进行连通互动.
  • 维嘉 是一个网络交互可视化工具的生态系统。 Vega团队实施了 箭头装入器。 。 。 .
  • 阿尔克罗 是用于数组后置数据表的查询处理和转换的库.
  • 奥姆尼西 是 GPU 数据库。 它的JavaScript连接器返回了Arrow数据帧.

许可证

Apache 2.0 (英语)

版本与发布记录

@apache-arrow/es2015-cjs 共发布 51 个版本,首次发布于 2017/08/15;过去 12 个月发布了 1 个版本。

版本发布日期距今
21.2.0latest2026/07/213 个月前
21.1.02025/10/071.1 年前
21.0.02025/07/041.3 年前
20.0.02025/05/141.5 年前
19.0.12025/02/191.7 年前
19.0.02025/01/161.8 年前

关于 @apache-arrow/es2015-cjs 的常见问题

@apache-arrow/es2015-cjs 是什么?

Apache 箭头列格式

如何安装 @apache-arrow/es2015-cjs?

在项目目录运行 npm install @apache-arrow/es2015-cjs,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 arrow2csv,可以用 npx arrow2csv 直接运行。

@apache-arrow/es2015-cjs 支持 TypeScript 吗?

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

@apache-arrow/es2015-cjs 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@apache-arrow/es2015-cjs 可以商用吗?

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

@apache-arrow/es2015-cjs 的下载量有多少?

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

@apache-arrow/es2015-cjs 还在维护吗?

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