通过 Nodejs BigQuery Storage Write API 将行写入 BigQuery

Mat*_*rne 4 google-bigquery

这看起来很新,但只是希望这里有人能够使用 nodejs 使用@google-cloud/bigquery-storage直接写入 BigQuery 存储。

其中解释了整个后端 API 的工作原理以及如何使用BigQuery Write API以原子方式写入行集合,但还没有适用于 Nodejs 的此类文档。最近发布的 2.7.0 版本记录了该功能的添加,但没有文档,并且代码不容易理解。

有一个未解决的问题需要一个示例,但我想试试运气看看是否有人能够使用这个 API。

小智 7

假设您有一个名为Student的 BigQuery 表,其中包含三列idnameage。以下步骤将让您使用 Nodejs 存储写入 api 将数据加载到表中。

定义student.proto文件如下

syntax = "proto2";
message Student {
    required int64 id = 1;
    optional string name = 2;
    optional int64 age = 3;
}
Run Code Online (Sandbox Code Playgroud)

在命令提示符下运行以下命令

protoc --js_out=import_style=commonjs,binary:. student.proto
Run Code Online (Sandbox Code Playgroud)

它应该在当前目录中生成student_pb.js文件。

在当前目录写入以下js代码并运行

syntax = "proto2";
message Student {
    required int64 id = 1;
    optional string name = 2;
    optional int64 age = 3;
}
Run Code Online (Sandbox Code Playgroud)

确保您的环境变量设置正确以指向包含谷歌云凭据的文件。

相应地更改项目和数据集值。