Airflow 将 postgres 数据库的所有表导出到 BigQuery

Nic*_*owr 5 postgresql google-cloud-storage google-bigquery airflow google-cloud-composer

我目前正在使用 AirflowPostgresToGoogleCloudStorageOperator并将GoogleCloudStorageToBigQueryOperator我的 Postgres 数据库(托管在 AWS RDS 上)的每个表导出到 BigQuery。它有效,但我有 75 个表,所以 Airflow 创建了 75 * 2 个工作。由于我是 Airflow 的新手,我不知道这是否是一个好习惯。

无论如何,我想找到一种方法将所有表一次(pg_dump?)导出到 GCS,然后将它们导入 BigQuery。

Sim*_*onD 1

这确实是一个见仁见智的问题,但我认为从事 72 x 2 任务的工作很好。听起来这项工作将是一次性的或不频繁的安排?如果您使用 YAML 文件来指定表并让 DAG 查看 YAML 文件以获取要导出的表的列表,则会获得加分。

如果它是您经常运行的东西,那么我认为最好使用 aaBashOperatorpg_dump按照您的建议,因为 Airflow 可能需要相当多的时间来在其他人完成后安排任务。您必须对 Airflow 并行性和调度程序间隔(可能是其他一些 Airflow 配置选项)进行一些测试才能使其高效运行。