2017-07-19 47 views
0

我們有一個項目,其中2個數據集(種類)存儲在谷歌數據存儲中,共有110萬條記錄。我們還計劃增加更多的數據集。現在我們正在考慮轉向應用引擎flex,以便可以利用numpy,pandas和ML框架Scikit-learn等統計庫來構建預測模型。作爲數據轉換/計算的一部分,熊貓和numpy將用於從存儲在Google數據存儲區中的數據集中提取新功能。谷歌應用程序引擎flex中的數據計算

問題 - 什麼是在大型數據集上執行計算邏輯的有效方法,這涉及到Google應用程序引擎Flex環境中的數據聚合和轉換。最初我正在考慮使用任務隊列來執行這種重型轉換,因爲它有10分鐘的超時時間,但不確定在flex環境中這是否可行

回答

0

問題是任務隊列在flex環境中的支持有限。從Migrating Services from the Standard Environment to the Flexible Environment

任務隊列

任務隊列的服務的 標準環境之外的限制的可用性。如果您想使用 標準環境以外的服務,則可以註冊Cloud Tasks alpha

在標準環境之外,您不能將任務添加到push queues,但在靈活環境中運行的服務可能是推送任務的目標 。將任務添加到隊列時,可以使用參數 target指定此參數,或者通過爲queue.yaml中的隊列指定 默認target來指定此參數。

在很多情況下,你可能會使用拉入隊列中,比如排隊 任務或將由獨立 工人拉和處理的消息,Cloud Pub/Sub可以是一個很好的選擇,因爲它提供 類似的功能和交付擔保。

上述報價中已經提到了一種方法:使用Cloud Pub/Sub

另一種方法也是在報價暗示:

  • 保留現有的應用程序作爲標準ENV服務/模塊的一部分,填充數據集和推動處理任務爲推動任務隊列

  • 在需要使用這些庫的處理服務/模塊中使用flex環境。這些將被指定爲推送任務的目標。

+0

基本上我需要讀取存儲在大查詢或數據存儲區中的數據,並使用熊貓進行轉換並將其存儲回新的實體中以用於進一步的機器學習算法。 – user845405

+0

可能是cron工作會做我想要的嗎?似乎我們可以在應用程序引擎flex中使用它們https://cloud.google.com/appengine/docs/flexible/python/scheduling-jobs-with-cron-yaml – user845405

+0

cron作業也可以,如果您的應用程序沒有需要事件觸發處理(即相當於創建推送隊列任務的邏輯),或者如果可以模擬,例如通過週期性/計劃輪詢。 –