小编fil*_*maj的帖子

如何使用 createWriteStream 将 JSON 流式传输到 BigQuery 表?

我有一个大的 JSON 文件,我想稍微转换一下并将其作为新表发送到 Google BigQuery。我过去在node.js中使用过流,效果很好,我认为这是解决这个问题的一个不错的解决方案。我正在使用官方 Google node.js BigQuery API。我能够毫无问题地创建具有正确架构的表。我我已经准备好了解决方案。程序完成得很好,但最终没有数据到达我的 BigQuery 表中。

相关代码如下

我的 Node.js 流代码:

fs.createReadStream('testfile.json')
        .pipe(require('split')())
        .pipe(require('event-stream').mapSync((data) => {
            if (data.length > 1) {
                let obj;
                try {
                    obj = JSON.parse('{' + (data[data.length - 1] === ',' ? data.slice(0, data.length - 1) : data) + '}');
                } catch (e) {
                    console.error('error parsing!', e, data);
                }
                let user = Object.keys(obj)[0];
                let company = obj[user][0];
                let item = {
                    user: user,
                    company: company
                };
                console.log(item);
                return JSON.stringify(item); …
Run Code Online (Sandbox Code Playgroud)

node.js google-bigquery

3
推荐指数
1
解决办法
2173
查看次数

标签 统计

google-bigquery ×1

node.js ×1