BigQuery 自动检测架构导致加载 Google Drive CSV 失败

Posted

技术标签:

【中文标题】BigQuery 自动检测架构导致加载 Google Drive CSV 失败【英文标题】:BigQuery auto-detect schema cause load of Google Drive CSV to fail 【发布时间】:2017-03-22 16:47:46 【问题描述】:

我使用 BigQuery 已经有一段时间了,我通过从 http 地址获取 CSV 来加载我的数据,使用 Drive API 将其上传到 Google Drive,然后使用 BigQuery API 将其附加到 BigQuery。

我总是通过 API 指定自动检测架构,并且在 2017 年 3 月 16 日之前它在 cron 上运行良好。

3 月 16 日,它停止工作。 CSV 仍可正常加载到 Google 云端硬盘,但 BigQuery 无法获取。

我通过尝试使用 BigQuery UI 手动加载相同的 CSV 开始进行故障排除,并注意到一些奇怪的事情:使用自动检测架构似乎阻止了 CSV 的加载,因为当我手动输入架构时它加载正常。

我认为问题可能是一些流氓数据,但自动检测模式现在对我不起作用,即使有非常基本的测试表,比如...

身份证名称 1 保罗 2彼得

有没有其他人发现自动检测架构突然停止工作。

API 上的某些默认设置可能已更改?

【问题讨论】:

自动检测发生了一些变化,但为了解决您的问题 - 请提供最小的重现案例 谢谢你,莫莎。要重现创建包含两条记录、两列(id 和字符串)和一个标题行的 CSV。上传到 Google 云端硬盘。然后使用 Web UI 将数据集添加到 BigQuery,选择 Google Drive、CSV 并粘贴文件共享 URL。检查自动检测架构,它将失败。手动输入模式,它会成功,虽然我在这种情况下随后查询数据时遇到了问题(你也可以试试吗?) 【参考方案1】:

今天 - 3 月 23 日,我无法通过 GDrive 让它工作。

注意:第一次使用 BigQuery/Google Cloud Storage。

我有一个包含 134MB 公交车站的大型 CSV。

尝试将其上传到 GDrive,但无法将其导入大查询。

刚刚试用了 Google Cloud Storage Bucket,它工作正常。

【讨论】:

以上是关于BigQuery 自动检测架构导致加载 Google Drive CSV 失败的主要内容,如果未能解决你的问题,请参考以下文章

让 BigQuery 自动检测架构

使用自动检测的动态 BigQuery 架构:错误架构没有字段

推断 BigQuery 表加载的 avro 架构

在 Bigquery 中查询外部表并且新数据到达时没有架构自动检测

Google-BigQuery - CSV 文件的架构解析

如何将特定日期格式加载到 BigQuery