从 appengine 上传到 bigquery 时如何忽略未知值
Posted
技术标签:
【中文标题】从 appengine 上传到 bigquery 时如何忽略未知值【英文标题】:How to ignore unknown values when uploading to bigquery from appengine 【发布时间】:2016-12-01 16:09:13 【问题描述】:我正在尝试将数据上传到 appengine 中的 bigquery。
这是我使用来自streaming sample的api的代码
@Override
public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException
String projectId = "myprojectId";
String datasetId = "mydatasetId";
String tableId = "person";
System.out.println("Enter JSON to stream to BigQuery: \n" + "Press End-of-stream (CTRL-D) to stop");
String string = "[\n \"Name\": \"test\", \"Age\": 0, \"Weight\": 100.0, \"IsMagic\": false,\n \"Name\": \"test\", \"Age\": 1, \"Weight\": 100.0, \"IsMagic\": false,\n \"Name\": \"test\", \"Age\": 2, \"Weight\": 100.0, \"IsMagic\": false,\n \"Name\": \"test\", \"Age\": 3, \"Weight\": 100.0, \"IsMagic\": false,\n \"Name\": \"test\", \"Age\": 0, \"Weight\": 100.0, \"IsMagic\": false\n]";
JsonReader jsonReader = new JsonReader(new StringReader(string));
Iterator<TableDataInsertAllResponse> responses = StreamingSample.run(projectId, datasetId, tableId, jsonReader);
while (responses.hasNext())
log.info(responses.next());
jsonReader.close();
现在我如何进行大查询ignoreUnknownValues? 有没有我可以使用的库?
【问题讨论】:
【参考方案1】:请看
TableDataInsertAllRequest.setIgnoreUnknownValues()
https://developers.google.com/resources/api-libraries/documentation/bigquery/v2/java/latest/com/google/api/services/bigquery/model/TableDataInsertAllRequest.html#setIgnoreUnknownValues(java.lang.Boolean)
【讨论】:
以上是关于从 appengine 上传到 bigquery 时如何忽略未知值的主要内容,如果未能解决你的问题,请参考以下文章
如何使用Appengine和来自API的Python脚本流数据将数据流式传输到Google Cloud BigQuery?
在 1 个请求中将多个文件从 Android 上传到 AppEngine
AppEngine BigQuery PHP 库在运行时不隐含?