【发布时间】:2021-03-05 16:52:21
【问题描述】:
使用映射数据流从 JSON 数据文件中读取十进制数字时,十进制数字会被截断。
[Source data]
{
"value": 1123456789.12345678912345678912
}
在数据工厂中,源数据集配置为没有架构。映射数据流投影定义了具有足够精度和比例的十进制数据类型。
[Mapping Data Flow script]
source(output(
value as decimal(35,20)
),
...
但是,在“数据预览”窗口中查看值或查看管道输出时,该值会被截断。
[Output]
1123456789.12345670000000000000
其他文件格式不会出现此问题,例如分隔文本。
从源数据集中预览数据时,十进制数字以相同的方式截断。无论是否设置了架构,都会发生这种情况。如果设置了模式,则数据类型为 number 而不是十进制,因为它是 JSON。 Mozilla Developer Network documentation 调用了浏览器支持的不同数量的十进制数字,所以我想知道这是否取决于所使用的 JSON 解析器。
这是预期的行为吗?使用 JSON 时,数据工厂是否可以配置为支持完整的小数位数?不幸的是,这让人质疑在数据工厂中执行聚合计算是否可行。
【问题讨论】: