BigQuery 下载或导出为 JSON 不考虑类型
Posted
技术标签:
【中文标题】BigQuery 下载或导出为 JSON 不考虑类型【英文标题】:BigQuery downloading or exporting as JSON does not respect types 【发布时间】:2018-06-19 22:23:21 【问题描述】:我在 BigQuery 中运行的查询:
SELECT 5 as a
运行上述查询并选择另存为表时得到的架构:
当我将查询结果下载为 JSON 时得到的 JSON或在导出表时:
"a":"5"
这不应该是:
"a":5
【问题讨论】:
【参考方案1】:来自Exporting Table Data - Export Limitations:
当您以 JSON 格式导出数据时,INT64(整数)数据类型是 编码为 JSON 字符串以在数据保存时保持 64 位精度 被其他系统读取。
【讨论】:
【参考方案2】:考虑使用TO_JSON_STRING
函数。 From the documentation,INT64
的表示为:
当值在 [-253, 253],这是可以表示的整数范围 无损地作为 IEEE 754 双精度浮点数。价值观 超出此范围的字符串表示为带引号的字符串。[
要使用该函数返回查询结果,可以使用这种形式:
SELECT TO_JSON_STRING(t)
FROM (
<your query here>
) AS t
【讨论】:
以上是关于BigQuery 下载或导出为 JSON 不考虑类型的主要内容,如果未能解决你的问题,请参考以下文章
BigQuery JSON 导出是不是为列名保留大写/小写?
通过 Google BigQuery API 将查询结果导出为 JSON
Dataproc 笔记本无法导入或导出到 BigQuery:找不到类异常