【问题标题】:Records in JSONL file not uploading to BigQuery as recordJSONL 文件中的记录未作为记录上传到 BigQuery
【发布时间】:2020-11-12 21:44:38
【问题描述】:

我正用头撞墙。我有一个 JSONL 格式的长数据文件正在上传到 BigQuery。对于每个条目,都有一个称为“文件”的文件信息记录。注意事项:

  1. 我检查了 JSONL 中“文件”的每个条目,它们都是 BigQuery 应该识别为记录的完全字典列表 前任。 {“case_id”:“abcd”,“record1”:[{“rec1_name”:“rec1.txt”},{“rec1_name”:“rec2.txt”}],“文件”:[{“file_name”:“ file.txt"},{"file_name": "file2.txt"}]
  2. BigQuery 上的表架构将“文件”显示为重复记录
  3. 尽管数据源格式和架构另有说明,但 BigQuery 表中的“文件”数据未嵌套。
  4. 此数据中具有几乎相同结构的其他记录工作正常(例如记录 1)

还有其他人在将记录上传到 BigQuery 时遇到这样的问题吗?

【问题讨论】:

  • 你能发布表格的结构和失败的文件的几行吗?

标签: google-bigquery


【解决方案1】:

代码似乎缺少左括号和右括号{}。如果您的表格结构类似于:

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"}]}

【讨论】:

  • 抱歉,我应该包含更多示例条目。每个条目的开头更像 {"case_id": "abcd", "record1": [{"rec1_name":"rec1.txt"}],"files": [{"file_name": "file.txt"}]} .我检查过它是否已经与以前的数据记录(如“record1”)采用相同的格式。这就是为什么这让我感到困惑
猜你喜欢
  • 1970-01-01
  • 2018-08-20
  • 1970-01-01
  • 2012-09-21
  • 2012-05-17
  • 2018-03-20
  • 2018-07-10
  • 1970-01-01
  • 2016-09-29
相关资源
最近更新 更多