在 Node.js 中使用 BigQuery 将 JSON 作为字符串导入

Posted

技术标签:

【中文标题】在 Node.js 中使用 BigQuery 将 JSON 作为字符串导入【英文标题】:Use BigQuery in Node.js to import JSON as string 【发布时间】:2017-03-22 14:55:21 【问题描述】:

我正在使用 @google-cloud/bigquery 并尝试将数据导入到我拥有 JSON 的表中。

我看到 table.createWriteStream() 方法 - 但我相信因为流式传输数据需要花钱,而控制台中的方法 bq load 是免费的。

所以我的两个问题是:

1:是否使用table.import() 将数据加载到表中的等价免费方式?

2:如何导入变量中的数据而无需先将其保存到 .json 文件?

【问题讨论】:

你想使用免费方式加载多少数据? 大量数据:) 那么请定义为 TB/天,或者某个维度 【参考方案1】:

如果您想避免流式插入,您应该知道对于加载作业有一个每日限制:每个表每天 1,000 个加载作业。流式插入没有这个限制。

流式插入非常便宜,每 GB 0.05 美元,而 1TB 则为 50 美元。不确定您有多少音量,但通常人们不会围绕流式插入进行构建,因为它更适合。 流式插入是导入数据的推荐方式,因为它是可扩展的,它有一个很好的每行错误消息,所以你可以重试行而不是整个文件。

【讨论】:

以上是关于在 Node.js 中使用 BigQuery 将 JSON 作为字符串导入的主要内容,如果未能解决你的问题,请参考以下文章

从 node.js 获取 bigquery 结果到浏览器

BigQuery / Node.js 时间戳太远了

服务帐户是在 node.js 中查询 google bigquery 的正确凭据吗?

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

带有 node.js 的对话流中的 Bigquery ML

如何使用 node.js 客户端库计算完成的 BigQuery 作业的行数