如何在每行大查询流插入中使用insertId?

时间:2019-05-26 19:20:01

标签: google-bigquery

如何通过node.js对每行使用insertId和Bigquery流式插入

const bigquery = new BigQuery({
  projectId: projectId,
});

// Inserts data into a table
await big query
  .dataset(datasetId)
  .table(tableId)
  .insert(rows);
console.log(`Inserted ${rows.length} rows`);

1 个答案:

答案 0 :(得分:0)

insertId包含在InsertionRow structure中,它是:

{
  "insertId": string,
  "json": {
    object
  }
}

有一个nodejs示例here,但基本上是:

const rows = [
{
  insertId: '1',
  json: {
    INSTNM: 'Motion Picture Institute of Michigan',
    CITY: 'Troy',
    STABBR: 'MI'
  }
},
//...
];

document格雷厄姆分享的那样:

  

为帮助确保数据一致性,您可以为每个ID提供insertId   插入的行。 BigQuery使用insertId属性对您的重复数据进行重复数据删除   尽力而为数据。