Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform 数据块+;凯德罗Vs GCP+;Kubeflow Vs服务器&x2B;凯德罗+;气流_Google Cloud Platform_Databricks_Kedro - Fatal编程技术网

Google cloud platform 数据块+;凯德罗Vs GCP+;Kubeflow Vs服务器&x2B;凯德罗+;气流

Google cloud platform 数据块+;凯德罗Vs GCP+;Kubeflow Vs服务器&x2B;凯德罗+;气流,google-cloud-platform,databricks,kedro,Google Cloud Platform,Databricks,Kedro,我们正在10多家公司之间部署一个数据联盟。Wi将为所有公司部署多个机器学习模型(通常是高级分析模型),我们将管理所有模型。我们正在寻找一种管理多个服务器、集群和数据科学管道的解决方案。我喜欢kedro,但不确定在使用kedro的同时管理的最佳选项是什么 总之,我们正在寻找在不同的服务器和可能的Spark集群中管理多个模型、任务和管道的最佳解决方案。我们目前的选择是: AWS作为我们的数据仓库和数据库,用于管理服务器、集群和任务。我不认为databricks笔记本是构建管道和协同工作的好解决方案

我们正在10多家公司之间部署一个数据联盟。Wi将为所有公司部署多个机器学习模型(通常是高级分析模型),我们将管理所有模型。我们正在寻找一种管理多个服务器、集群和数据科学管道的解决方案。我喜欢kedro,但不确定在使用kedro的同时管理的最佳选项是什么

总之,我们正在寻找在不同的服务器和可能的Spark集群中管理多个模型、任务和管道的最佳解决方案。我们目前的选择是:

  • AWS作为我们的数据仓库和数据库,用于管理服务器、集群和任务。我不认为databricks笔记本是构建管道和协同工作的好解决方案,因此我想将kedro连接到databricks(这好吗?使用databricks安排kedro管道的运行容易吗?)

  • 将GCP用于数据仓库,并使用kubeflow(iin GCP)部署模型、管道管理和时间表以及所需资源

  • 从ASW或GCP设置服务器,安装kedro并使用气流计划管道(我发现管理20台服务器和40条管道有一个大问题)


我想知道是否有人知道这些备选方案之间的最佳选择是什么,它们的缺点和优点,或者是否有更多的可能性。

我会尝试总结我所知道的,但请注意,我没有参与过KubeFlow项目

凯德罗在数据库里 我们的方法是使用CI构建项目,然后从笔记本执行管道。我们没有使用databricks connect,因为作业和交互式集群之间存在冲突(DB connect需要这些)。如果您正在处理数TB的数据,这很快就会变得重要

作为DS,这种方法可能感觉很自然,作为SWE,尽管它不是。在笔记本电脑上运行管道让人感觉不舒服。它能工作,但感觉不工业化。Databricks在自动上下旋转集群方面表现良好&为您管理运行时。因此,他们的附加值是将IaaS从您身边抽象出来(稍后将对此进行详细介绍)

GCP&“云本机” Pro:GCP的主要卖点是BigQuery。这是一个功能强大得难以置信的平台,因为从第0天起,您就可以提高工作效率。我见过有人在上面构建整个web API。KubeFlow没有绑定到GCP,因此您可以稍后将其移植到其他地方。Kubernetes还允许您在集群、API、流媒体、web服务、网站上运行任何您想要的东西

Con:库伯内特斯很复杂。如果你有10多名工程师长期运行这个项目,你应该可以。但不要低估库伯内特的复杂性。它对于云的意义就如同Linux对于操作系统的意义一样。想想日志管理、嘈杂的邻居(一个集群用于web API+批量spark作业)、多集群管理(每个部门/项目一个集群)、安全性、资源访问等

IaaS服务器方法 您的最后一种选择是手动安装服务器,只有当您拥有一支庞大的团队,数据量非常大,并且正在构建一个长期的产品,而该产品的收入能够承受巨大的维护成本时,我才会推荐这种方法

背后的人 您所在地区的人才市场情况如何?如果你能雇佣具有GCP知识的经验丰富的工程师,我会选择第二种解决方案。GCP是一个成熟的“本地”平台,因为它为客户抽象了很多东西。如果您的市场主要是AWS工程师,那么这可能是一条更好的道路。如果你有很多kedro的工程师,这也有关联性。请注意,凯德罗的不可知论足以在任何地方运行。它实际上只是python代码

主观建议

我主要从事AWS项目和一些GCP项目,我会选择GCP。我会使用平台的组件(BigQuery、Cloud Run、PubSub、Functions、K8S)作为工具箱,从中进行选择,并围绕这些组件构建一个组织。Kedro可以在这些上下文中的任何一种环境下运行,作为调度器触发的作业,作为Kubernetes上的容器,或者作为将数据导入(或导出)BigQuery的ETL管道

虽然Databricks比原始AWS“管理更少”,但它仍然需要考虑服务器和VPC网络费用。BigQuery只是GB查询。函数只是调用计数。这些高级组件将允许您快速向客户展示价值,您只需在扩展时更深入(RaaS->PaaS->IaaS)

AWS也比IaaS有更高层次的抽象,但总体而言,(在我看来)谷歌的产品是最成熟的。主要是因为他们已经发布了他们在内部使用了近十年的工具,而AWS已经为市场开发了新的工具。AWS是IaaS之王

最后一点内容,