2014-11-06 50 views
1

嘗試將大型CSV文件從桌面上傳到BigQuery(使用python)。尋找一個編程式的 方式。已經使用Cloud SDK shell,但正在尋找基於Web的自定義解決方案。如何以編程方式將大型文件從桌面上傳到BigQuery?

該方案如下:用戶可以使用在GWT(FileUpload小部件)中開發的UI來選擇CSV文件。 [What can be the maximum "POST" size I can have?]那麼如何將所選CSV文件中的數據發送到應用引擎 ,其中插入到BigQuery中的python腳本是? 嘗試分段上傳,但如何重定向到python腳本而不是
servlet。請建議,如果這是可能的重定向。

整個Web應用程序需要與GWT,Python代碼一起部署在App Engine上。

而且反正是有開發完整的Web界面在Python本身並使用多上傳。(這也有託管在App Engine)提前

感謝。

回答

2

大文件應該上傳到Google Cloud Storage,然後從那裏加載到BigQuery中。 GCS支持可恢復上傳協議,允許您以塊的形式上傳大文件,從而使上傳過程更加穩健,以防出現連接問題。這個過程的高層次的描述可以在這裏找到:https://cloud.google.com/storage/docs/concepts-techniques#resumable

你問在做一個瀏覽器應用程序。用於Javascript客戶端的Google Cloud Storage文檔可以在這裏找到:https://cloud.google.com/storage/docs/json_api/v1/json-api-javascript-samples

有了這個,您應該可以讓您的客戶端代碼直接將文件上傳到Google雲端存儲。從那裏您的App Engine應用程序可以將數據加載到BigQuery中。

+1

您也可以使用可恢復的上傳協議將數據直接發送到BigQuery。這樣做可以消除系統中的一些複雜性,但如果您想重試加載作業,還需要重新上傳數據。 https://cloud.google.com/bigquery/loading-data-post-request – 2014-11-07 07:16:31

相關問題