Google cloud dataflow 使用数据流与云编写器

Google cloud dataflow 使用数据流与云编写器,google-cloud-dataflow,airflow,apache-beam,google-cloud-composer,Google Cloud Dataflow,Airflow,Apache Beam,Google Cloud Composer,我想澄清一下CloudDataflow或CloudComposer是否是适合这项工作的工具,但从Google文档中我并不清楚 目前,我正在使用云数据流读取一个非标准csv文件——进行一些基本处理——并将其加载到BigQuery中 让我举一个非常基本的例子: # file.csv type\x01date house\x0112/27/1982 car\x0111/9/1889 从该文件中,我们检测模式并创建一个BigQuery表,如下所示: `table` type (STRING) date

我想澄清一下CloudDataflow或CloudComposer是否是适合这项工作的工具,但从Google文档中我并不清楚

目前,我正在使用云数据流读取一个非标准csv文件——进行一些基本处理——并将其加载到BigQuery中

让我举一个非常基本的例子:

# file.csv
type\x01date
house\x0112/27/1982
car\x0111/9/1889
从该文件中,我们检测模式并创建一个BigQuery表,如下所示:

`table`
type (STRING)
date (DATE)
此外,我们还将数据格式化以插入(python)到BigQuery中:

DATA = [
    ("house", "1982-12-27"),
    ("car", "1889-9-11")
]
这是对正在发生的事情的巨大简化,但这就是我们目前使用云数据流的方式


那么我的问题是,
cloudcomposer
从何而来?它可以在上面提供哪些附加功能?换句话说,为什么要在云数据流之上使用它?

对于所描述任务的基础知识,云数据流是一个不错的选择。可以并行处理的大数据是云数据流的良好选择

处理大数据的现实世界通常是混乱的。数据通常有点脏,经常或大批量到达,需要以对时间敏感的方式进行处理。通常需要协调多个任务/系统来提取所需数据。考虑加载、转换、合并、提取和存储任务类型。大数据处理通常使用shell脚本和/或Python程序粘合在一起。这使得自动化、管理、调度和控制过程变得困难

GoogleCloudComposer是云数据流的一大进步。Cloud Composer是一个跨平台编排工具,支持AWS、Azure和GCP(以及更多),并具有管理、调度和处理能力

云数据流处理任务。CloudComposer管理整个流程,协调可能涉及BigQuery、数据流、Dataproc、存储、内部部署等的任务

那么,我的问题是,云作曲家从何而来? 它可以在上面提供哪些附加功能?换句话说 换句话说,为什么要在云数据流之上使用它

如果您需要/需要对大数据任务进行更多的管理、控制、调度等,那么Cloud Composer将为您带来巨大的价值。如果您只是偶尔按需运行一个简单的Cloud Dataflow任务,Cloud Composer可能有点过头了。

Cloud Composer(由Apache Airflow支持)专为小规模任务调度而设计

以下是一个帮助您理解的示例:

假设您在GCS中有一个CSV文件,并使用您的示例,假设您使用云数据流来处理它,并将格式化数据插入到BigQuery中。如果这是一件一次性的事情,那么你已经完成了,而且它非常完美

现在,假设您的CSV文件每天在UTC 01:00被覆盖,并且您希望在每次被覆盖时运行相同的数据流作业来处理它。如果您不想在任何周末和节假日都在UTC 01:00完全手动运行作业,则需要一种工具来定期为您运行作业(在我们的示例中,每天在UTC 01:00)。在这种情况下,CloudComposer可以帮助您。您可以向Cloud Composer提供配置,其中包括要运行的作业(操作员)、何时运行(指定作业开始时间)以及运行频率(可以是每天、每周甚至每年)

看起来已经很酷了,但是,如果CSV文件不是在UTC 01:00被覆盖,而是在一天中的任何时候被覆盖,您将如何选择每天的运行时间?Cloud Composer提供了传感器,可以监控某个条件(在本例中为CSV文件修改时间)。CloudComposer可以保证,只有在满足条件的情况下,它才能启动作业


Cloud Composer/Apache Airflow提供了更多的功能,包括运行多个作业的DAG、失败的任务重试、失败通知和漂亮的仪表板。您还可以从他们的文档中了解更多信息。

两种解决不同问题的不同工具。数据流允许您构建可伸缩的数据处理管道(批处理和流)。Composer用于计划、编排和管理数据管道。我不同意“小”规模。他们说可以创建任意复杂的工作流。此外,作为工作流的一部分,您可以在BigQuery中查询TB的数据,并在巨大的Dataproc/Dataflow集群上运行作业,这听起来并不是“小规模”。