使用nodejs gcloud上传到bigquery时如何启用错误

Posted

技术标签:

【中文标题】使用nodejs gcloud上传到bigquery时如何启用错误【英文标题】:how to enable errors when uploading to bigquery using nodejs gcloud 【发布时间】:2016-07-17 13:57:25 【问题描述】:

使用 bigquery UI,我可以选择通过检查来启用错误

Number of errors allowed

现在当我在 nodejs 中使用 Gcloud 时如何启用错误?

fs.writeFile("/tmp/bq_json_file_new.json", myJSON, function(err));
fs.createReadStream("/tmp/bq_json_file_new.json")
  .pipe(table.createWriteStream(metadata))
  .on('complete', function(job) 
    job
      .on('error', console.log)
      .on('complete', function(metadata) 
        console.log('job completed', metadata);
      );
  );

【问题讨论】:

【参考方案1】:

这是作业配置中的maxBadRecords 字段。您可以在 BigQuery API 中插入作业时指定此项。我不确定 nodejs 客户端的外观,但如果您传入一个作业形状的对象,您应该能够在其加载作业配置中指定 maxBadRecords

【讨论】:

【参考方案2】:

这是使用Danny Kitt's 答案的答案:

var gcloud = require('gcloud')(
  keyFilename: '../config/keyfile.json',
  projectId: 'my-project'
);

var request = require('request');

var bigquery = gcloud.bigquery();


var dataset = bigquery.dataset('my_dataset');
var table = dataset.table('my_table');

var metadata = 
    sourceFormat: 'NEWLINE_DELIMITED_JSON',
    maxBadRecords: 2
;

fs = require('fs');

fs.createReadStream('./myFile.json')
  .pipe(table.createWriteStream(metadata))
  .on('complete', function(job) 
   job
      .on('error', console.log)
      .on('complete', function(metadata) 
        console.log('job completed', metadata);
      );
  );

【讨论】:

以上是关于使用nodejs gcloud上传到bigquery时如何启用错误的主要内容,如果未能解决你的问题,请参考以下文章