Azure Datafactory 数据流中的科学记数法

问题描述 投票:0回答:1

使用数据流读取数据时,我发现非常大或非常小的数字会自动转换为科学计数法。正在读取的数据是从单行 JSON 文件读取的,该文件读取良好,但是在展平数据时,似乎正在发生符号切换,即

3568291023
变成了
3.568291023E9

读取的数据格式如下:

“值”:[[1111,“狗”,“猫”,“饮料”,“水(毫升)”0,2909888293,1234599283,2232341,21352,23253,2.98,3.07,3.25,3.36,3.4,3.53 ,3.59,"","水","水数据.csv","2021-04-22 21:32:33.734"],

其中派生列是(例如)

year = Values[1]
animal_1 = Values[2]

我目前正在将数据展平并导出为列。为了解决这个问题,我尝试将相应的列转换为小数或双精度来更改现有的字符串格式,即数据列

Data_C1
使用表达式
Data_C1_Dec
派生为
toDecimal(Data_C1, 20,10)
,这解决了大数字的问题,但是这会导致另一个问题,即列中的所有
0
值行都会变成
0E10
,从而带回科学记数法问题。

有没有一种方法可以将所有字符串数值转换回原始数字形式,而数据流不会自动将形式转换为科学记数法?

json azure azure-data-factory dataflowtask
1个回答
0
投票
  • 您可以通过更改投影中的类型将字符串数据更改为原始数值。
  • 在源转换中,单击投影选项卡。
  • 单击
    import projection
  • 根据需要将列的类型从 string 更改为 long 或 double。

这将有助于以正确的数据类型正确读取数据。

© www.soinside.com 2019 - 2024. All rights reserved.