Airflow - BigQuery 作业状态检查失败。最终错误是:%s'

Posted

技术标签:

【中文标题】Airflow - BigQuery 作业状态检查失败。最终错误是:%s\'【英文标题】:Airflow - BigQuery job status check failed. Final error was: %s'Airflow - BigQuery 作业状态检查失败。最终错误是:%s' 【发布时间】:2019-06-21 15:29:06 【问题描述】:

我在 BigQuery 的 southamerica-east1 位置,当我尝试运行气流功能 GoogleCloudStorageToBigQueryOperator 时收到错误消息:BigQuery 作业状态检查失败。最终错误是:%s'

搜索我需要“强制”转移到 BigQuery 的 BigQueryCursor 操作表的位置。

即使创建一个具有相同位置的空表,我也无法导入 Cloud Storage 中的数据。

我想更详细地了解我需要在我的代码中做什么(如果可能,通过示例)以成功完成我的流程。

我强调我的数据集和空表配置为相同的位置

json_gcs_to_bq = GoogleCloudStorageToBigQueryOperator(
    task_id='gcs_to_bq',
    bucket='big-data',
    source_objects=[nm_arquivo],
    destination_project_dataset_table='teste.tab1',
    schema_object='sc_tab1.json',
    source_format='NEWLINE_DELIMITED_JSON',
    create_disposition='CREATE_IF_NEEDED',
    write_disposition='WRITE_TRUNCATE',
    bigquery_conn_id='gcp_conn',
    google_cloud_storage_conn_id='gcp_conn',
    dag=dag
)

错误信息:

 [2019-06-21 14:39:38,639] logging_mixin.py:95 INFO - [2019-06-21
 14:39:38,630] discovery.py:873 INFO - URL being requested: POST
 https://www.googleapis.com/bigquery/v2/projects/big-data/jobs?alt=json
 [2019-06-21 14:39:39,525] logging_mixin.py:95 INFO - [2019-06-21
 14:39:39,525] discovery.py:873 INFO - URL being requested: GET
 https://www.googleapis.com/bigquery/v2/projects/big-data/jobs/job_zyDDpy94ReP_X6qqR6DrbqGnb-Ar?alt=json
 [2019-06-21 14:39:39,881] models.py:1760 ERROR - ('BigQuery job
 status check failed. Final error was: %s', 404) Traceback (most recent
 call last):   File
 "/usr/local/lib/python3.6/site-ackages/airflow/contrib/hooks/bigquery_hook.py",
 line 1014, in run_with_configuration

【问题讨论】:

Google Cloud Composer BigQuery Operator- Get Jobs API HTTPError 404的可能重复 @RyanTheCoder,我不明白答案:请给我看一个例子,我如何将 BigQueryCursor 运算符放在我的脚本中来解决这个问题...... 【参考方案1】:

我在本地从气流库中插入了 gcs_to_bq 和 bigquery_hook 函数,然后我为我的区域(在南美洲东部 1 案例中)创建并强制了位置,并设法使该过程正常工作!

【讨论】:

以上是关于Airflow - BigQuery 作业状态检查失败。最终错误是:%s'的主要内容,如果未能解决你的问题,请参考以下文章

将 Airflow 运行 id、dag id、执行日期等变量导出到 Bigquery 表

检查 Airflow 中是不是存在 Bigquery 分区

我们是不是可以检查 bigquery 中的表是不是处于锁定状态或正在执行 DML 操作

Bigquery:如果不存在则创建表并使用 Python 和 Apache AirFlow 加载数据

Airflow 中的 BigQuery 参数化查询

Google BigQuery 在加载作业的 ignoreUnknownValues 选项上出现意外行为(收到额外列的错误)