Arrow 提供了一个跨语言的列式数据格式,以及在许多语言之间共享数据的能力,不过它的 JavaScript 版本也是大有用处的。Yahoo 发布了一个 npm 包,名为 yahoo-arrow,该包提供了将 Arrow 格式转换为 JavaScript 格式的方法,以及从 JavaScript 数据中创建 Arrow 对象的方法。本文将介绍如何使用 yahoo-arrow 包进行列式数据转换。
安装
为了使用 yahoo-arrow 包,需要在 Node.js 中进行安装。可以通过 npm 安装该包:
npm install yahoo-arrow
在安装了该包之后,使用 require
命令将其引入到代码中。
const Arrow = require('yahoo-arrow');
创建 Arrow 对象
Arrow 对象可以从多种数据来源中创建,包括 JSON 和 ArrayBuffer。以下是一些常见的创建 Arrow 对象的示例代码。
从 JSON 创建 Arrow 对象
-- -------------------- ---- ------- ----- ---- - - --------- - --------- - - ------- ------------- ------- ----------- - - -- ---------- - - -------- -- ---------- - - ------- ------------- ------- ------------ --------- ---------- - - - - -- ----- ----- - ---------------------
从 ArrayBuffer 创建 Arrow 对象
const buffer = new ArrayBuffer(16); // 16 个字节的 ArrayBuffer const arrow = Arrow.fromBuffer(buffer);
Arrow 对象转换为 JavaScript 格式
为了将 Arrow 对象转换为 JavaScript 格式的数据,可以使用 Arrow 对象的 toArray
方法。
const data = arrow.toArray(); console.log(data);
toArray
方法返回一个数组,其中每个元素表示 Arrow 对象 batch 的一行数据。因此,该数组中的每个元素都是一个对象,这个对象以字段名称为键,以值为值,可以使用以下代码进行访问。
console.log(data[0].field_name);
JavaScript 转换为 Arrow 对象
为了将 JavaScript 格式的数据转换为 Arrow 对象,可以使用 Arrow 对象的 fromVector
方法。
-- -------------------- ---- ------- ----- ------ - - -------------- ---------- -------------- --------- -- ----- ------ - - --------- - - ------- ------------- ------- ----------- - - - ----- ----- - ------------------------ --------
结论
Arrow 格式提供了对列式数据的原生支持,可以方便地在许多语言和数据处理框架之间共享数据。使用 yahoo-arrow npm 包,可以在 JavaScript 中轻松转换 Arrow 数据和普通 JavaScript 数据之间。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/75181