标签: rust-arrow2

将 Arrow 数据从 Node.js 传递到 Rust,无需复制

使用 Apache Arrow 格式将数据从 Node.js 传递到 Rust 的最佳方法是什么?用每种语言存储数据很容易,但共享内存给我带来了挑战。

我正在使用Napi-rs生成 node.js API 绑定。

对于下面的 JavaScript 代码,我收到“无法从缓冲区创建引用”的消息。当我尝试传递arrowVector.data[0].buffers给 rust 函数时,我得到 "../src/node_buffer.cc:245:char *node::Buffer::Data(Local<v8::Value>): Assertion `val->IsArrayBufferView() ' 失败的。”

我想我在这里缺少一些核心内容。

这是我的示例节点测试代码:

import { makeVector } from 'apache-arrow';
import {testFn} from './index.js';

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

const arrowVector = makeVector(rainAmounts);

// how to get buffers from vec? and send to rust function

testFn(arrowVector);
Run Code Online (Sandbox Code Playgroud)

这是我的 Rust 代码示例: …

node.js rust apache-arrow rust-arrow2

5
推荐指数
1
解决办法
323
查看次数

标签 统计

apache-arrow ×1

node.js ×1

rust ×1

rust-arrow2 ×1