将 table 从 BigQuery 导出到 GCS 的最佳方式
Best way to export a table from BigQuery to GCS
我有一些与 Cloud Composer 和 BigQuery 相关的问题。我们需要导入并创建一个自动化流程,以将 tables 从 BigQuery 导出到存储。
我现在有 4 个选项:
- bigquery_to_gcs 运算符
- BashOperator: 在 Cloud Composer 上执行 Cloud SDK 提供的 "bq" 命令。
- Python 功能:使用 BigQuery API 创建一个 Python 函数,几乎与 bigquery_to_gcs 相同,并使用 Airflow 执行此函数。
- DataFlow:作业也将使用 Airflow 执行。
我对前三个选项有一些想法。如果 table 很大,是否有机会消耗 Cloud Composer 的大部分资源?我一直在搜索 bashoperator 和 bigquery operator 是否消耗了 Cloud Composer 的一些资源。一直以为这个过程以后要投入生产,同时有更多的dag 运行。如果是这样,Dataflow 将是一个更方便的选择?
数据流的一种好方法是,如果需要,我们可以将 table 导出到一个文件中,如果 table 超过 1GB,则使用其他选项是不可能的。
BigQuery 本身具有将数据导出到 GCS 的功能。这意味着如果您使用您提到的任何东西(Dataflow 作业除外),您将只需触发一个由 BigQuery 执行和管理的导出作业。
这意味着您无需担心Composer 中集群资源的消耗。 bigquery_to_gcs 运算符只是指示 BigQuery 进行导出的控制器。
因此,根据您提到的选项:bigquery_to_gcs 运算符、BashOperator 和 Python 函数将产生类似的低成本。只需使用您认为更易于管理的那个即可。
我有一些与 Cloud Composer 和 BigQuery 相关的问题。我们需要导入并创建一个自动化流程,以将 tables 从 BigQuery 导出到存储。 我现在有 4 个选项:
- bigquery_to_gcs 运算符
- BashOperator: 在 Cloud Composer 上执行 Cloud SDK 提供的 "bq" 命令。
- Python 功能:使用 BigQuery API 创建一个 Python 函数,几乎与 bigquery_to_gcs 相同,并使用 Airflow 执行此函数。
- DataFlow:作业也将使用 Airflow 执行。
我对前三个选项有一些想法。如果 table 很大,是否有机会消耗 Cloud Composer 的大部分资源?我一直在搜索 bashoperator 和 bigquery operator 是否消耗了 Cloud Composer 的一些资源。一直以为这个过程以后要投入生产,同时有更多的dag 运行。如果是这样,Dataflow 将是一个更方便的选择?
数据流的一种好方法是,如果需要,我们可以将 table 导出到一个文件中,如果 table 超过 1GB,则使用其他选项是不可能的。
BigQuery 本身具有将数据导出到 GCS 的功能。这意味着如果您使用您提到的任何东西(Dataflow 作业除外),您将只需触发一个由 BigQuery 执行和管理的导出作业。
这意味着您无需担心Composer 中集群资源的消耗。 bigquery_to_gcs 运算符只是指示 BigQuery 进行导出的控制器。
因此,根据您提到的选项:bigquery_to_gcs 运算符、BashOperator 和 Python 函数将产生类似的低成本。只需使用您认为更易于管理的那个即可。