【问题标题】:BigQuery load job failing with "Could not parse 'Text' as bool"BigQuery 加载作业失败并显示“无法将‘文本’解析为布尔值”
【发布时间】:2019-10-07 05:50:37
【问题描述】:
使用自动检测架构在 Big Query 中从 CSV 文件创建表。
加载作业失败并出现错误:
读取数据时出错,错误消息:Could not parse 'good' as bool for field order_Flag(位置 26)从位置 1689438 开始
即使该列有一些包含文本/字符串的行,为什么 BigQuery 将其解析为布尔值?
【问题讨论】:
标签:
sql
google-cloud-platform
google-bigquery
【解决方案1】:
即使该列有一些包含文本/字符串的行,为什么 BigQuery 将其解析为布尔值?
启用自动检测后,BigQuery 会通过扫描文件中多达 100 行的数据来启动推理过程,以用作代表性样本。 BigQuery 然后检查每个字段并尝试根据示例中的值为该字段分配数据类型。
因此,看起来那些“带有文本/字符串的某些行”超过了 100 行用于自动检测,前 100 行将该字段“定义”为布尔值
你可以阅读更多关于Schema auto-detection
为避免这种情况 - 您可以为负载定义自己的架构 - 请参阅 Loading CSV data into a table 的详细信息