从 GCS 加载 JSON 时出错

Posted

技术标签:

【中文标题】从 GCS 加载 JSON 时出错【英文标题】:Getting error when loading JSON from GCS 【发布时间】:2017-04-05 21:47:35 【问题描述】:

我正在尝试将 GCS 中的架构和数据作为 JSON 文件加载。为此,我正在使用命令行。

bq load --source_format=NEWLINE_DELIMITED_JSON --schema=gs://1samtest/JSONSample/personsDataSchema.json SSData.persons_data gs://1samtest/JSONSample/personsData.json

但我收到此错误:

//1SAMTEST/JSONSAMPLE/PERSONSDATASCHEMA.JSON 不是有效值

但是当我将所有路径更改为我的本地机器时,它完全可以使用文件。但是不知道为什么json会出错。

如果我在 BigQuery 中创建表后像下面这样运行,它可以正常工作。

bq load  --source_format=NEWLINE_DELIMITED_JSON SSData.persons_data  "gs://1samtest/JSONSample/personsData.json"

【问题讨论】:

【参考方案1】:

schema 标志/参数不支持 GCS 的 URI,即使用 gs://...

bq load --help

[destination_table] 是要访问的表的全限定表名 如果表已经存在,则创建或追加。

[source] 参数可以是单个本地文件的路径,也可以是 以逗号分隔的 URI 列表。

[schema] 参数应该是 JSON 文件的名称或文本模式。如果表已经有,则应省略此架构。

只有 source 标志/参数(即数据)可以与 GCS URI 一起使用。

【讨论】:

有没有办法解决这个问题?我希望能够将元数据和 csv 数据存储在存储桶中并从那里上传到 bigquery,但到目前为止,我似乎必须将元数据文件作为 json 在本地保存才能做到这一点。

以上是关于从 GCS 加载 JSON 时出错的主要内容,如果未能解决你的问题,请参考以下文章

FabricJS - 从 JSON 加载 Canvas 时出错

为啥我在使用 kingfisher 将图像从 JSON 加载到 tableview 时出错?

LibGdx - 从资产管理器加载 json 文件时出错

getJSON 在 chrome 上本地加载 json 数据文件时出错 [重复]

读取数据时出错,错误消息:CSV 表引用列位置 174,但从位置开始的行:136868 仅包含 94 列

使用 UI 将 JSON 加载到 Bigquery 时出错