【问题标题】:NodeJS Parquet writeNodeJS Parquet 写
【发布时间】:2022-11-11 08:21:54
【问题描述】:

我有一堆列(大约 30 个)。其中有数组、具有多行空间的文本字段(Word 文档)等。我认为 CSV 不会是一种合适的格式,因为有多个新行。我正在考虑使用 Parquet 格式。

文件本身需要通过 NodeJS 生成。

  1. 是否有 Parquet 的首选库?
  2. 另外,对于大查询的特定文件格式有什么建议吗?

    任何指针都会有所帮助

【问题讨论】:

  • 你能澄清一下你将使用 Node.js 生成的文件存储在哪里吗?

标签: node.js google-bigquery bigdata


【解决方案1】:

parquet 上的 Node JS 库维护得不好。您可以签出my other answer on the same 主题。它列出了最受欢迎的。

  • 镶木地板
  • 镶木地板
  • parquetjs-lite
  • 节点拼花

我建议尝试一下下面的库。

鸭数据库- DuckDB 是一个进程内嵌入式库/数据库。它具有围绕镶木地板文件构建的许多功能。

它可以将parquet文件写入磁盘,直接写入S3存储桶等。

DuckDB 支持的 Parquet 功能 - https://duckdb.org/docs/data/parquet .这是一个简单的sn-p。

var duckdb = require('duckdb');
var db = new duckdb.Database(':memory:');
db.all("COPY (SELECT 'BOB' AS NAME, 'LONDON' AS CITY) TO 'result-snappy.parquet' (FORMAT 'parquet')", function(err, res) {
  if (err) {
    throw err;
  }
  console.log(res)
});

执行脚本:

PS C:Usersuser1Downloads> node .duck-script.js
[ { Count: 1 } ]

在您的情况下,您可能必须先将数据加载到鸭数据库表,然后将其写入镶木地板文件。

文档

【讨论】:

    猜你喜欢
    • 2022-01-02
    • 1970-01-01
    • 2016-06-29
    • 2018-10-27
    • 1970-01-01
    • 1970-01-01
    • 2019-07-26
    • 2017-12-03
    • 2022-01-12
    相关资源
    最近更新 更多