繁体   English   中英

BigQuery 自动将字符串转换为 int

[英]BigQuery converts automatically a string into int

我有一个表,其中有一个名为field_string的字段,类型为string 我以 json 格式插入数据,有些行只有该字段的数字。 例如"field_string": "123456" 问题是 BigQuery 将该行的值转换为int并且无法插入它,因为类型不匹配。 我无法转换字段的类型,因为某些行在该字段中确实有字母或符号。

我有一个解决方法,可以在字符串中添加一个符号,这样 BigQuery 就不会转换它,但我想知道我是否可以找到一种方法来不这样做。

作业配置如下:

job_config = bigquery.LoadJobConfig(
        autodetect=False,
        write_disposition=bigquery.WriteDisposition.WRITE_APPEND,
        source_format=bigquery.SourceFormat.NEWLINE_DELIMITED_JSON,
        max_bad_records=10,
        ignore_unknown_values=False,
    )

谢谢!

正如@rtenha 在评论中提到的,您应该在 LoadJobConfig 中传递架构。 以下是示例架构的相同内容。

job_config = bigquery.LoadJobConfig(
   schema=[
       bigquery.SchemaField("id", "STRING"),
       bigquery.SchemaField("field_string", "STRING"),
   ],
   autodetect=False,
   source_format=bigquery.SourceFormat.NEWLINE_DELIMITED_JSON
)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM