通过加载命令将 JSON 记录加载到 Big Query 时,我们看到以下错误:
BigQuery error in load operation: Error processing job 'job_d727bf8944884b20b709ded2887b7a13': flat value specified for record field Failure details:
- Unexpected. Please try again.
- Row larger than the maximum allowed size
有问题的记录似乎远低于 JSON 允许的最大大小并且格式正确。该表的架构使用嵌套记录,但日志格式和架构最近都没有更改,因此不清楚为什么突然出现此错误。
更新:
我们通常使用 --max_bad_records 参数运行加载操作,以便它会跳过可能存在的少数格式错误的记录。我尝试单独重新加载您指定的文件是失败的根源,这次似乎成功了,没有错误,无论是否定义了 max_bad_records。
bq load --max_bad_records 20 --source_format NEWLINE_DELIMITED_JSON telemetry_data_2013_06_20 "gs:/.../2013-06-12-01/ip-10-144-3-198.log"
以下是作业 ID:
job_5822a36c5c364117a6651f3e8b81b49f
job_ed4080f9f60c485bb265c09367902f00
为什么这个文件这次成功了?
最佳答案
根据我们可以访问的日志,您的加载作业中似乎有一个简单的“:”重复条目,没有任何其他数据。
BigQuery 中可能存在问题,在某些情况下,将单个记录大小限制设置为 2 MB,而不是宣传的 16MB。您能否确认引发“行大于最大允许大小”响应的行小于 2Mb?
关于json - 将 JSON 数据加载到大查询中时出错 : flat value specified for record field,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17226419/
相关文章:
c++-cli - 导出 C++/CLI native 类 (C4679)
ruby-on-rails - rails 和 Heroku : Running a script
database - 是否有任何工具可以从数据库模式的 json 表示自动生成 ERD 图?
linux - 为什么我得到数据大小大于 mss 的数据包?
android-layout - 在滑动选项卡中水平滚动 : android
nginx - 如何替换 HTTP 请求 URI 中的特殊字符?
macos - 运行 make 时如何修复 ranlib/libtool 错误