BIGQUERY - bq load无法解析

时间:2016-08-25 21:06:52

标签: google-bigquery

最近我开始在公司里使用BigQuery。我们使用AWS Redshift数据库,因此在使用gsutil发送到GCS后,我使用 PIPE 作为字段分隔符进行了UNLOAD到S3。

所以我开始加载到BQ,但在某些表中,这不起作用。见日志:

bq load 
--project_id=movile-di
--field_delimiter="|" 
--schema=mte.json
--allow_quoted_newlines=true 
--allow_jagged_rows=true 
--ignore_unknown_values=true 
--max_bad_records=100 
corp.mte_201301 

gs://movile-di/telecom/atlas/dynamic/2013/01/mte/* Waiting on
> bqjob_r333c660745fe8874_00000156c36e9a5e_1 ... (0s) Current status:
> DONE    

BigQuery error in load operation: Error processing job
> 'movile-di:bqjob_r333c660745fe8874_00000156c36e9a5e_1': Too many
> errors encountered. Failure details:
> - gs://movile-di/telecom/atlas/dynamic/2013/01/mte/mte.csv.0000.gz: Could 
not parse '2500","key":"MOV_PK_MOVILE_ATLASSENDMESSAGE"}' as int
> for field billing_share_content_partner_share (position 17) starting
> at location 1596

> - gs://movile-di/telecom/atlas/dynamic/2013/01/mte/mte.csv.0000.gz: Could 
not parse '100001","key":"MOV_PK_MOVILE_ATLASSENDMESSAGE"}' as
> int for field billing_share_content_partner_share (position 17)
> starting at location 2060

> - gs://movile-di/telecom/atlas/dynamic/2013/01/mte/mte.csv.0000.gz: Could 
not parse '-","key":"MOV_PK_MOVILE_ATLASSENDMESSAGE"}' as int
> for field billing_share_content_partner_share (position 17) starting
> at location 2929

> - gs://movile-di/telecom/atlas/dynamic/2013/01/mte/mte.csv.0000.gz: Could 
not parse '-","key":"MOV_PK_MOVILE_ATLASSENDMESSAGE"}' as int
> for field billing_share_content_partner_share (position 17) starting
> at location 4413

> - gs://movile-di/telecom/atlas/dynamic/2013/01/mte/mte.csv.0000.gz: Could 
not parse '-","key":"MOV_PK_MOVILE_ATLASSENDMESSAGE"}' as int
> for field billing_share_content_partner_share (position 17) starting
> at location 5289

在此表中,我有一个字段作为JSON。我想 bq load 并不了解field_delimiter并给了我一个错误。

有人能帮帮我吗?我尝试了所有我知道的东西,但仍然无法工作。

1 个答案:

答案 0 :(得分:1)

尝试加载您的文件,就像只有一个字段的CSV一样 为此,您应该选择字段分隔符,以确保它不会出现在文件中的任何其他位置 加载完成后,您可以使用BigQuery(旧版或标准SQL模式)以BigQuery中的方式解析它。当然它可以取决于你的实际架构 - 但在很多情况下它有所帮助! 请查看JSON functionsUDF for Legacy SQL以及Scalar UDF for Standard SQL,因为在这种情况下解析是最有用的“工具”