Google Cloud:我们是否需要一个计算引擎来运行已部署的python代码?

时间:2017-07-22 11:53:15

标签: python google-app-engine google-cloud-datastore google-cloud-platform google-cloud-storage

对不起,我的技术背景并不多,我知道这听起来像个混乱的问题。但是,我会尽力解释我想在这里做些什么。

我的日常工作涉及来自不同类型平台的大量数字营销数据(非常大的数据> 20GB +)。如您所见,当我尝试分析这些数据时,我需要将这些数据聚合成类似的格式。我工作的繁琐部分通常包括大量手动下载,大量数据清理和大量上传(我将清理后的数据上传到Google云端存储,以便我可以使用BigQuery!)。

我认为手动执行这些任务的效率非常低,我认为唯一合理的选择是在Google Cloud Platform上自动完成这些任务。

经过几个月的努力,我成功地以半自动方式完成了这些任务,我编写了一些python程序并制作了一个schtask批处理:

  1. 下载(python程序进行API调用以将平台数据下载到我的本地驱动器)
  2. 清理(一个python程序在本地清理这些数据)
  3. 上传到云存储(使用gsutil上传“清理”数据的python程序)
  4. 尽管如此,它节省了我很多时间,但一切仍然在我的桌面PC上本地完成。

    以下是我真正的问题,我相信有一种方法可以在Google Cloud中管理所有这些任务(下载,清理,上传),而无需触及我的本地PC,我应该从哪里开始?

    1. 如何在Google Cloud上运行这些Python程序?我知道我可以在App Engine中部署这些Python程序,但是,为了让这些程序能够完成他们的工作,我还需要一个计算引擎吗?或简单的部署可以完成这项工作吗?
    2. 如何在Google Cloud上解决这些应用?
    3. 我知道云存储只是将数据存储在GCP上的众多方法之一,因为我拥有来自不同类型平台的这些数据,并且它们都采用不同的格式和指标。那么在Google Cloud上有效存储这些数据的最佳方式是什么? CloudSQL,数据存储区还是BigTable?
    4. 谢谢!

1 个答案:

答案 0 :(得分:1)

我们需要更多信息并看到一些代码能够更好地帮助您,但一般来说,您描述的工作应该能够通过http完成并且您不需要任何特殊的C库,因此您可以使用appengine并为您的工作创建任务队列。

准备好仅使用appengine比使用可以利用的操作系统更棘手。部署后没有带appengine的操作系统,您必须仅使用appengine中提供的功能。

但是,是的,据我所知,你提供的信息,一个appengine应用程序应该能够完成你描述的工作。尝试编写一些代码,部署appengine应用程序并返回此处并询问您是否遇到特定问题。

如果以后需要,您可以随时将计算引擎添加到您的appengine项目中。