Ary*_*azz 15 google-bigquery google-cloud-platform
我已经上传了一个包含从GCS到BigQuery的300K行的CSV文件,并收到以下错误:
我在哪里可以找到错误流?
我已经更改了create table配置以允许4000个错误并且它有效,所以它必须是消息中3894行的问题,但是这个错误消息并没有告诉我很多关于哪些行或为什么.
谢谢
Ary*_*azz 25
我终于通过在终端中运行以下命令来查看错误流:
bq --format=prettyjson show -j <JobID>
Run Code Online (Sandbox Code Playgroud)
它返回一个包含更多详细信息的JSON.在我的情况下它是:
"message": "Error while reading data, error message: Could not parse '16.66666666666667' as int for field Course_Percentage (position 46) starting at location 1717164"
Run Code Online (Sandbox Code Playgroud)
您应该能够Job History
在BigQuery UI中单击,然后单击失败的加载作业.我刚刚尝试加载无效的CSV文件,我看到的错误是:
Errors:
Error while reading data, error message: CSV table encountered too many errors, giving up. Rows: 1; errors: 1. Please look into the error stream for more details. (error code: invalid)
Error while reading data, error message: CSV table references column position 1, but line starting at position:0 contains only 1 columns. (error code: invalid)
Run Code Online (Sandbox Code Playgroud)
第一个是仅指示失败的通用消息,但第二个错误(来自"错误流")是为失败提供更多上下文的错误,即CSV table references column position 1, but line starting at position:0 contains only 1 columns
.
编辑:给定作业ID,您还可以使用BigQuery CLI查看有关失败的完整信息.你会用:
bq --format=prettyjson show -j <job ID>
Run Code Online (Sandbox Code Playgroud)
使用python客户端它是
from google.api_core.exceptions import BadRequest
job = client.load_table_from_file(*args, **kwargs)
try:
result = job.result()
except BadRequest as ex:
for err in ex.errors:
print(err)
raise
# or alternatively
# job.errors
Run Code Online (Sandbox Code Playgroud)
你也可以这样做。
try:
load_job.result() # Waits for the job to complete.
except ClientError as e:
print(load_job.errors)
raise e
Run Code Online (Sandbox Code Playgroud)
这会将错误打印到屏幕上,或者您可以记录它们等。
归档时间: |
|
查看次数: |
9331 次 |
最近记录: |