Tag: 数据处理

使用pipe道语法解压缩stream响应

我试图检索一个file.csv.gz使用request.js,并解压缩,然后parsing和处理。 我知道我希望我的代码看起来像这样 response .pipe(zlib.createGunzip()) .pipe(split()) .pipe(process()) 然而,我正在努力让我的响应对象以正确的格式被传送。 目前我正在试图通过做出响应来回应。 const request = require('request'); const headers = { 'accept-encoding':'gzip' } module.exports.getCSV = (url) => { return request({url, headers, gzip:true}); } 我收到错误,这意味着我正试图解压缩一个不完整的对象。 我也在想,也许不可能做到我想做的事情,相反,我将需要完全下载文件,然后再尝试parsing它进行处理

Node.js数据处理分配

我需要一个使用node.js来分发数据处理的策略。 我试图弄清楚是否使用工作池并将这些工作组中的任务分离出来是最好的方法,或者使用像http://strawjs.com/这样的基于pipe道/节点的系统是最好的方式。 我拥有的步骤如下(针对单个作业): 提取包含GIS ShapeFiles的zip文件 使用ogr2​​ogr将文件转换为GeoJSON 非规范化GeoJSON文件中的数据 将数据转换为我在MongoDB中使用的格式 将数据插入到MongoDB集合中 主要的问题是,当使用像吸pipe这样的基于pipe道/节点的系统时,我不知道如何合并来自不同GeoJSON文件的数据。 我明白如何去做工作池的工作。 但是我不知道如何把工人分配到几台机器上。 我已经尝试过使用asynchronous模块在单个机器上的单线程中进行这种简单的方法。 这适用于小数据集。 但在生产中,我需要能够在相当频繁的时间间隔内支持数百万个文档。 使用node.js的原因是,我们已经有了一个可扩展node.jsstream程的坚实基础架构,我们几乎在生产环境的每个方面都使用node.js。