在谷歌应用引擎中将数据流式传输到 bigquery - java
Posted
技术标签:
【中文标题】在谷歌应用引擎中将数据流式传输到 bigquery - java【英文标题】:Streamig data to bigquery in google appengine - java 【发布时间】:2016-11-15 09:27:39 【问题描述】:我正在尝试将数据上传到 appengine 中的 bigquery。
为了上传到存储,我有一个特殊的library for appengine
import com.google.appengine.tools.cloudstorage.*;
我的问题是:appengine 中是否有用于上传到 bigquery 的库,还是应该使用常规的 api 库?
这是我尝试过的,效果很好 - 使用来自 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();
这是正确的方法吗?
【问题讨论】:
【参考方案1】:App Engine 没有 BigQuery 库。您的示例是正确的,这是上传流数据的推荐方式。
【讨论】:
以上是关于在谷歌应用引擎中将数据流式传输到 bigquery - java的主要内容,如果未能解决你的问题,请参考以下文章
如何在谷歌应用引擎上将帖子从数据库异步加载到 django 模板?