google-bigquery - JSONL 文件中的记录未作为记录上传到 BigQuery
问题描述
我正用头撞墙。我有一个 JSONL 格式的长数据文件正在上传到 BigQuery。对于每个条目,都有一个称为“文件”的文件信息记录。注意事项:
- 我检查了 JSONL 中“文件”的每个条目,它们完全是 BigQuery 应该识别为记录前的字典列表。{“case_id”:“abcd”,“record1”:[{“rec1_name”:“rec1.txt”},{“rec1_name”:“rec2.txt”}],“文件”:[{“file_name”:“ file.txt"},{"file_name": "file2.txt"}]
- BigQuery 上的表架构将“文件”显示为重复记录
- 尽管数据源格式和架构另有说明,但 BigQuery 表中的“文件”数据未嵌套。
- 此数据中具有几乎相同结构的其他记录工作得很好(例如记录1)
像这样将记录上传到 BigQuery 的其他人有问题吗?
解决方案
该代码似乎缺少左括号和右括号{}
。如果您的表格结构类似于:
CREATE TABLE testing.json_nl (files array<string>);
然后您的换行符分隔的 json 文件需要如下所示:
{"files": ["file.txt", "file2.txt"]}
{"files": ["file3.txt", "file4.txt"]}
如果您的表格结构STRUCT
如下:
CREATE TABLE testing.struct_json_nl ( files array< STRUCT< file_name STRING> >);
然后你的换行符分隔的 json 看起来像这样:
{"files": [{"file_name":"file.txt"}, {"file_name": "file2.txt"}]}
{"files": [{"file_name":"file3.txt"}, {"file_name": "file4.txt"}]}
推荐阅读
- json - cURL 到 PowerShell - 哈希表
- python - 如何根据列值从数据帧中提取行到多个 CSV 文件?
- node.js - 使用 Jest 进行单元测试查询器
- jquery - 输入带有html标签的php变量时,jquery .html会引发错误
- python - 为神经网络训练准备 y_target 变量
- ruby-on-rails - 每天过期的数据如何处理?
- sql - PostgreSQL - 如何保持列更新
- javascript - 解决 React JS 中的 API 调用问题(400 错误)
- ios - 除非我将视图添加到容器视图而不是 contentView,否则 UITableViewCell 不起作用
- amazon-web-services - 在从 CloudWatch 事件触发 AWS CodeBuild 时指定源分支