Google Big Query错误:CSV表遇到太多错误,放弃了.行:1个错误:1

Sur*_*osh 4 google-bigquery

在这里输入图像描述我试图在Google大查询中加载的12 GB csv文件上运行查询,我无法对数据集运行任何查询.我不确定数据集是否正确加载.它在窗格中显示为一个表,但它不存在于作业历史记录中.任何人都可以帮助相同.

该数据集是从谷歌存储桶中加载的,该存储桶具有大约1.2MM的记录和3728个变量

职位编号:pg-us-adv-x-dat-aia-proto-1:bquijob_b951879_1540d02c1a4

MMM*_*ata 12

检查您的架构 - 您可能忘记包含其中一个列的架构 - 这就是发生在我身上的事情!

  • 这就是我的情况,我认为BQ应该改进他们的错误信息以提供更多信息 (6认同)
  • 添加到您的答案中,这也可能发生在数据类型不匹配的情况下。 (2认同)

int*_*cho 8

要获取有关错误的更多信息,请从 CLI 尝试以下操作:

>bq show -j <jobid>

它打印状态和/或详细的错误信息。

列出所有 jobid: bq ls -j


Ben*_*ine 5

job.errors包含作业的详细错误。

似乎未在任何地方进行记录,但是您可以在源代码中看到它:https : //googlecloudplatform.github.io/google-cloud-python/0.20.0/_modules/google/cloud/bigquery/job。 _AsyncJob的html和ctrl + f。

因此,您的wait_for_job代码可能如下所示:

def wait_for_job(job):
    while True:
        job.reload()
        if job.state == 'DONE':
            if job.error_result:
                raise RuntimeError(job.errors)
            return
        time.sleep(1)
Run Code Online (Sandbox Code Playgroud)


Jor*_*ani 0

因此,看起来您正在查询尚未加载到 BigQuery 中的 CSV 文件,它只是由 Google Cloud Storage 中的联合表指向。

基础 CSV 文件中似乎存在错误:

Too many value in row starting at position:11398444388 in file:gs://syntheticpopulation-storage/Alldatamerged_Allgrps.csv
Too many value in row starting at position:9252859186 in file:gs://syntheticpopulation-storage/Alldatamerged_Allgrps.csv
...
Run Code Online (Sandbox Code Playgroud)

请告诉我这是否足以诊断问题。我相信,如果您查看查询历史记录,您可以将这些消息视为查询作业的警告。

我在内部提交了三个错误:

  1. 错误消息中的语法错误。
  2. 由于联合表中的问题而产生的错误消息是不可诊断的,因为它们不会告诉您哪个表有问题。
  3. 来自联合表中的问题的错误消息在 UI 中不可操作,因为有关出错原因的信息位于警告流中,但不会显示。