Google Bigquery 的 Apps 脚本未知错误

Posted

技术标签:

【中文标题】Google Bigquery 的 Apps 脚本未知错误【英文标题】:Apps Script to Google Bigquery unknown error 【发布时间】:2014-09-16 15:23:57 【问题描述】:

CSThis 应该读入 a 然后将其写入 bigquery。但是,当它运行时,没有写入任何内容,也没有记录任何错误。我读到我需要写一个 csv 然后把它变成一个八位字节流。我不确定这是否与 google bigquery 兼容。我也尝试删除 setSourceUris,但仍然没有任何错误显示。

function test()
try
 var tableReference = BigQuery.newTableReference();
 tableReference.setProjectId(PROJECT_ID);
 tableReference.setDatasetId(datasetId);
 tableReference.setTableId(tableId);
 var schema = "CUSTOMER:string, CLASSNUM:integer, CLASSDESC:string, CSR:string, CSR2:string,     INSURANCE:string, REFERRALGENERAL:string, REFERRALSPECIFIC:string, NOTES:string, INMIN:integer, INHR:integer, OUTMIN:integer, OUTHR:integer, WAITMIN:integer, WAITHR:integer, DATETIMESTAMP:float, DATEYR:integer,DATEMONTH:integer, DATEDAY:integer";
 var load = BigQuery.newJobConfigurationLoad();
 load.setDestinationTable(tableReference);
 load.setSourceUris(URIs);
 load.setSourceFormat('CSV');
 load.setSchema(schema);
 load.setMaxBadRecords(0);
 load.setWriteDisposition('WRITE_TRUNCATE');

 var configuration = BigQuery.newJobConfiguration();
 configuration.setLoad(load);

 var newJob = BigQuery.newJob();
 newJob.setConfiguration(configuration);


 var loadr = DriveApp.getFilesByName("test.csv");
 var x = loadr.next().getBlob();
 Logger.log(x.getDataAsString());

 var d = DriveApp.getFilesByName("test.csv");
 var id = d.next().getId();
 Logger.log(id);
 var data = DocsList.getFileById(id).getBlob().getDataAsString();
 var mediaData = Utilities.newBlob(data, 'application/octet-stream');

 BigQuery.Jobs.insert(newJob, PROJECT_ID, mediaData) 
 
catch(error)Logger.log("A" + error.message); 

【问题讨论】:

为什么 CSV 文件有 NEWLINE_DELIMITED_JSON 源格式? 我将其更改为 CSV,但它要求一个我找不到的 URI。目前,我正在做 gs://project_name 【参考方案1】:

Apps 脚本文档包含一些示例代码,展示了如何将 CSV 加载到 bigquery:https://developers.google.com/apps-script/advanced/bigquery#load_csv_data

【讨论】:

以上是关于Google Bigquery 的 Apps 脚本未知错误的主要内容,如果未能解决你的问题,请参考以下文章

在 Google Apps 脚本中使用 BigQuery 连接到 Google 电子表格

Google Apps 脚本:从 AuthConfig 到 Bigquery

Google Bigquery 的 Apps 脚本未知错误

从工作表中的 Google Apps 脚本访问 BigQuery 时需要登录错误

例外:未配置访问 - API 更新后使用 Google Apps 脚本的 BigQuery

如何使用 Google Apps 脚本将来自 Google 电子表格和 ScriptDB 的数据插入 BigQuery 表