Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/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 如何将cloud composer与计算引擎集成_Google Cloud Platform_Google Cloud Composer - Fatal编程技术网

Google cloud platform 如何将cloud composer与计算引擎集成

Google cloud platform 如何将cloud composer与计算引擎集成,google-cloud-platform,google-cloud-composer,Google Cloud Platform,Google Cloud Composer,各位好,, 我是GCP的新手(从Aws转到GCP),我有一个蹩脚的问题(请原谅)。我们正在使用GCP构建传统的EDW。作为调度器的一部分,我们有CloudComposer,所有代码都位于计算引擎中(就像AWS中的Ec2实例) 如何设置工作流以从计算引擎运行作业?或者什么是实现相同功能的最佳解决方案 有关我们管道的更多信息: 管道1:从sql db(遗留)中提取数百万行,执行一些etl逻辑[清理、添加新列、删除列、增加大小写列值等等],最后加载到redshift 管道2:从Googlesheets

各位好,, 我是GCP的新手(从Aws转到GCP),我有一个蹩脚的问题(请原谅)。我们正在使用GCP构建传统的EDW。作为调度器的一部分,我们有CloudComposer,所有代码都位于计算引擎中(就像AWS中的Ec2实例)

如何设置工作流以从计算引擎运行作业?或者什么是实现相同功能的最佳解决方案

有关我们管道的更多信息: 管道1:从sql db(遗留)中提取数百万行,执行一些etl逻辑[清理、添加新列、删除列、增加大小写列值等等],最后加载到redshift

管道2:从Googlesheets读取数据,执行上述etl逻辑并加载到不同的红移表中

管道3:从谷歌API读取数据,执行清理,插入红移等等

如何使用cloud composer编写我的ETL工作流

任何帮助都是非常感谢的

----------PROJECT STRUCTURE & REQUIREMENTS------------ In my compute Engine I have project like : /home/ubunutu/projects/project1 /venv /src/job1.py ( reads googlesheets and loads into cloudsql) /src/job2.py ( Reads Google Adwords API, do some cleaning, modifying attributes and load into cloudsql) /home/ubunutu/projects/project2 /venv /src/job1.py ( Read file from GCS, perform cleaning,adding/remving columns and load into cloudsql) /src/job2.py ( Reads data from a cloudsql table A and perform some modifications and loads into cloudsql table B) Now in composer, how do I orchestrate the complete work flow? Python jobs sits in Compute engine and I need to execute them. The reason Why we use compute Engine is to perform some in-memory opearions like reading data in dataframe, do some group by, create new columns, creating temporary files and so on. or what would be your suggestions? As like moving the whole sandbox to composer's /data directory as like, /data/projects/project1 /venv /src/job1.py ( reads googlesheets and loads into cloudsql) /src/job2.py ( Reads Google Adwords API, do some cleaning, modifying attributes and load into cloudsql) /data/projects/project2 /venv /src/job1.py ( Read file from GCS, perform cleaning,adding/removing columns and load into cloudsql) /src/job2.py ( Reads data from a cloudsql table A and perform some modifications and loads into cloud sql table B) In this case, 1. Will I be able to download any temporary files in composer server and perform some operations on it? 2. I shall not be needed to create venv If I place my code in composer directly as I can install packages via PyPI in console? ---------------------------------------------------------- ----------项目结构和要求------------ 在我的计算引擎中,我有如下项目: /主页/乌布努图/项目/项目1 /文夫 /src/job1.py(读取googlesheets并加载到cloudsql) /src/job2.py(读取GoogleAdWordsAPI,进行一些清理,修改属性并加载到cloudsql中) /主页/乌布努图/项目/项目2 /文夫 /src/job1.py(从GCS读取文件,执行清理、添加/删除列并加载到cloudsql) /src/job2.py(从cloudsql表a读取数据,并执行一些修改并加载到cloudsql表B中) 现在在composer中,我如何编排完整的工作流程?Python作业位于计算引擎中,我需要执行它们。 我们使用计算引擎的原因是执行一些内存操作,比如读取数据帧中的数据、执行一些分组、创建新列、创建临时文件等等。 或者你有什么建议? 就像将整个沙盒移动到composer的/data目录一样, /数据/项目/项目1 /文夫 /src/job1.py(读取googlesheets并加载到cloudsql) /src/job2.py(读取GoogleAdWordsAPI,进行一些清理,修改属性并加载到cloudsql中) /数据/项目/项目2 /文夫 /src/job1.py(从GCS读取文件,执行清理、添加/删除列并加载到cloudsql) /src/job2.py(从cloudsql表a读取数据,并执行一些修改并加载到cloudsql表B中) 在这种情况下,, 1.我能在composer服务器中下载任何临时文件并对其执行一些操作吗? 2.如果我将代码直接放在composer中,就不需要创建venv,因为我可以通过控制台中的PyPI安装软件包? ---------------------------------------------------------- 你能用你宝贵的知识帮助我吗?提前多谢


提前多谢

这是一种设计模式,您可以根据自己的需要进行调整

假设您可以设置发布/订阅主题和订阅,您可以

  • 在Composer中有一个DAG,它运行一些代码并将消息发布到发布/订阅主题
  • 在订阅主题的计算机中运行进程。收到消息后,触发需要运行的脚本
  • 完成后,通知发布/子主题
  • 有一个单独的DAG,它在收到消息时在Composer中触发(注意:有多种方法可以做到这一点。请参阅)

是否要在计算引擎中运行脚本?你能解释一下你是怎么写的吗?我的意思是你在使用哪种语言,哪种库等等。你的问题在哪里?在计算机中使用Composer?如果是的话,你如何触发他们的代码?非常感谢你宝贵的回复。让我给出更多的见解。我刚刚添加了两个关于我们项目结构和执行方式的更详细信息。希望这有助于我给出一个关于我的要求很好的图片!寻求您的帮助:)提前谢谢