2016-11-15 41 views
0

我想上傳數據到appengine的bigquery。Streamig的數據BigQuery在谷歌Appengine - java

上傳到存儲我有一個特別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庫。你的例子是正確的,但這是上傳流數據的推薦方式。