[英]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.