4 google-cloud-dataflow airflow apache-beam google-cloud-composer
我为这个天真的问题道歉,但我想澄清一下Cloud Dataflow或Cloud Composer是否适合这项工作,我不清楚Google文档.
目前,我正在使用Cloud Dataflow读取非标准csv文件 - 执行一些基本处理 - 并将其加载到BigQuery中.
让我举一个非常基本的例子:
# file.csv
type\x01date
house\x0112/27/1982
car\x0111/9/1889
Run Code Online (Sandbox Code Playgroud)
从这个文件中我们检测到模式并创建一个BigQuery表,如下所示:
`table`
type (STRING)
date (DATE)
Run Code Online (Sandbox Code Playgroud)
而且,我们还格式化我们的数据以插入(在python中)到BigQuery:
DATA = [
("house", "1982-12-27"),
("car", "1889-9-11")
]
Run Code Online (Sandbox Code Playgroud)
这是对正在发生的事情的极大简化,但这就是我们目前使用Cloud Dataflow的方式.
那么我的问题是,Cloud Composer
图片中的位置是什么?它可以在上面提供哪些附加功能?换句话说,为什么它会在"云数据流"之上使用?
小智 12
云编写器(由Apache Airflow支持)专为小规模的任务调度而设计.
这是一个帮助您理解的示例:
假设您在GCS中有一个CSV文件,并使用您的示例,假设您使用Cloud Dataflow处理它并将格式化数据插入BigQuery.如果这是一次性的事情,你刚刚完成了它的完美.
现在假设您的CSV文件每天在01:00 UTC被覆盖,并且您希望每次覆盖时都运行相同的Dataflow作业来处理它.如果您不想在01:00 UTC完全手动运行作业而不管周末和假日,您需要定期为您运行作业(在我们的示例中,每天01:00 UTC).在这种情况下,Cloud Composer可以为您提供帮助.您可以为Cloud Composer提供配置,其中包括要运行的作业(运算符),何时运行(指定作业开始时间)以及以什么频率运行(可以是每天,每周甚至每年).
但是,如果CSV文件不是在UTC时间01:00覆盖,而是在一天中的任何时间,你会如何选择每日运行时间呢?Cloud Composer提供可以监视条件的传感器(在本例中为CSV文件修改时间).Cloud Composer可以保证只有满足条件才能启动作业.
Cloud Composer/Apache Airflow提供了许多功能,包括使用DAG运行多个作业,失败的任务重试,失败通知和一个漂亮的仪表板.您还可以从他们的文档中了解更多信息.
对于所描述任务的基础知识,Cloud Dataflow是一个不错的选择。可以并行处理的大数据是Cloud Dataflow的不错选择。
处理大数据的现实世界通常很混乱。数据通常会变得非常脏,会不断或大量到达,并且需要以对时间敏感的方式进行处理。通常,它需要多个任务/系统的协调才能提取所需的数据。考虑加载,转换,合并,提取和存储任务类型。大数据处理通常使用Shell脚本和/或Python程序粘合在一起。这使自动化,管理,调度和控制过程变得困难。
Google Cloud Composer是Cloud Dataflow的一大进步。Cloud Composer是一个跨平台编排工具,具有管理,调度和处理功能,可支持AWS,Azure和GCP(及更多)。
Cloud Dataflow处理任务。Cloud Composer管理协调整个流程的任务,这些任务可能涉及BigQuery,Dataflow,Dataproc,Storage,本地等。
然后我的问题是,Cloud Composer出现在哪里?它可以在上面提供哪些附加功能?换句话说,为什么要在“云数据流”的顶部使用它?
如果您需要/需要对大数据任务进行更多的管理,控制,调度等,那么Cloud Composer可以带来巨大的价值。如果您只是偶尔按需运行一个简单的Cloud Dataflow任务,则Cloud Composer可能会过大。
归档时间: |
|
查看次数: |
3470 次 |
最近记录: |