首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure数据工厂复制活动JSON数据类型转换问题

Azure数据工厂复制活动JSON数据类型转换问题
EN

Stack Overflow用户
提问于 2020-07-18 17:10:21
回答 2查看 1.9K关注 0票数 0

我有一个azure数据工厂管道,用于从第三方API获取数据,并将数据以.json格式存储到数据湖中。当我单击导入模式时,它会显示正确的数据类型格式。

当我将上面提到的data-lake设置为数据流活动的源时,Int64数据类型转换为boolean。我已经检查了Microsoft文档,知道如果值是0或1,它会自动转换为布尔值。如何避免这种数据类型转换?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-07-20 02:44:08

首先,验证您是否在Source Settings下选中了'Infer First types‘为true。

如果源列中的值仅为1或0,则Data Factory会将数据类型检测为boolean。这可能是一个潜在的bug。

一种方法是,由于您使用的是数据流,因此可以使用Case语句为列添加派生,并根据布尔值在输出中派生1&0。

票数 1
EN

Stack Overflow用户

发布于 2020-07-20 10:58:41

最简单的方法是将all模式重置为String,这意味着不转换Source dataset中的数据类型。

例如,这是我的源数据集架构和数据,setNum中的所有值都是1或0:

数据流来源投影,首先考虑为布尔型的setNum的数据类型。

重置模式:所有数据类型都将是字符串。

然后,数据工厂会将数据类型转换为Sink级。它类似于从csv文件复制数据。

更新:

您可以首先将架构重置为字符串。

然后使用Derived Column根据需要更改/转换数据类型。

使用下面的表达式:

代码语言:javascript
复制
toShort()
toString()
toShort()

这将解决问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62966722

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档