gpt4 book ai didi

Node.JS 如何创建 Parquet 文件并保存到 Minio

转载 作者:行者123 更新时间:2023-12-05 07:17:17 28 4
gpt4 key购买 nike

以 NPM 文档 ( https://www.npmjs.com/package/parquets ) 中的以下示例为例,我将如何将生成的 parquet 文件直接写入 minio。我想避免将 parquet 文件写入磁盘,然后再进行第二次操作将文件移动到 minio。

下面的示例在调用 close() 后立即将文件写入磁盘。

// advanced fruits table
let schema = new ParquetSchema({
name: { type: 'UTF8' },
colours: { type: 'UTF8', repeated: true },
stock: {
repeated: true,
fields: {
price: { type: 'DOUBLE' },
quantity: { type: 'INT64' },
}
}
});

// the above schema allows us to store the following rows:
let writer = await ParquetWriter.openFile(schema, 'fruits.parquet');

await writer.appendRow({
name: 'banana',
colours: ['yellow'],
stock: [
{ price: 2.45, quantity: 16 },
{ price: 2.60, quantity: 420 }
]
});

await writer.appendRow({
name: 'apple',
colours: ['red', 'green'],
stock: [
{ price: 1.20, quantity: 42 },
{ price: 1.30, quantity: 230 }
]
});

await writer.close();

最佳答案

使用 /tmp 编写您的 parquet 文件,然后使用 minio 的 sdk 上传该文件。

为确保它正确缩放,只需将随机字符串或 UUID 添加到您将其存储在 tmp 中的文件名中。

不幸的是,我在库中找不到任何流选项,因此除非有人知道如何从该库返回 Stream 对象,否则您无法完全按照您的要求进行操作。

关于Node.JS 如何创建 Parquet 文件并保存到 Minio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58879095/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com