在 AWS 中设置 jupyter notebook 项目的最佳方式

Best way to set up jupyter notebook project in AWS

我当前的项目结构如下:

从 jupyter notebook 中的脚本开始,该脚本从 CRM API 下载数据以放入本地 PostgressSql 数据库我 运行 使用 PgAdmin。之后,它 运行 进行聚类分析,return 一些评分值,在数据库中使用结果创建一个 table,并通过另一个 API 调用在 CRM 中更新此值。此过程需要 10 到 20 个小时(API 每分钟只允许 400 个请求)。

第二个笔记本读取数据库,检测上次更新,运行s api 调用自上次调用后更新数据库,运行s kmeans 分析对数据进行聚类,比较上次通话的结果,通过 API 更新新的和 CRM。据我估计,第二个过程用时不到 2 小时,我希望此脚本每 24 小时 运行。

经过测试,可以正常使用。现在我正在评估如何在 AWS 中将其投入生产。我了解我需要 Sagemaker 的笔记本,而且据我所知并没有那么复杂,我唯一的疑问是我是否可以调用 API 而无需实施附加代码或需要一些配置。我的第二个问题是数据库。我不明白我认为我必须为此使用的 RDS 与 Aurora 或 S3 之间的区别。我的目标是尽可能少地编写代码,但我已经尝试了一些 RDS 教程,例如:[1]: https://www.youtube.com/watch?v=6fDTre5gikg&t=10s,我知道这会将我的本地 postgress 连接到 AWS,但我找不到亚马逊页面中的数据,只创建一个实例??以及如何连接到它以分析来自 SageMaker 的数据。我的最终目标是 运行 云端的笔记本,并连接到云端的我的 postgres。只是一些关于如何使用此工具的指导将不胜感激。

I don't understand the difference between RDS which is the one I think I have to use for this and Aurora or S3

RDS 和 Aurora relational databases 完全由 AWS 管理。 “常规”RDS 允许您启动现有的流行数据库,例如 MySQL、PostgreSQSL 和其他您也可以在 home/work 启动的数据库。

Aurora 是 内部云原生 实施数据库,与 MySQL 和 PosrgreSQL 兼容。它可以存储与 RDS MySQL 或 PosrgreSQL 相同的数据,但提供了许多 RDS 不具备的功能,例如更多只读副本、分布式存储、全局数据库等。

S3 不是数据库,而是一个object storage,您可以在其中存储文件,例如图像、csv、excel,就像存储它们一样在您的计算机上。

I understand this connect my local postgress to AWS but I can't find the data in the amazon page, only creates an instance??

如果您愿意,可以将数据从本地 postgress 迁移到 RDS 或 Aurora。但是 RDS 和 Aurora 都不会连接到您现有的本地数据库,因为它们本身就是数据库。

My final goal is to run the notebooks in the cloud and connect to my postgres in the cloud.

我看不出您无法连接到数据库的原因。您可以尝试让它工作,如果遇到困难,您可以使用 RDS/Aurora 设置详细信息在 SO 上提出新问题。