只显示字符串格式数据的表格存储

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

我使用ADF管道将数据从数据湖复制到blob存储,再从blob存储复制到表存储。

enter image description here

如下图所示,这是ADF数据流汇--Blob存储中的列类型(整数、字符串、时间戳)。

enter image description here

这里是复制数据活动中的Mapping设置。

enter image description here

在表存储中查看输出时,我看到所有的列都是字符串类型。

enter image description here

为什么表存储保存的数据都是字符串值?如何解决表存储中的这个问题,使其能接受正确类型(整数、字符串、时间戳)的列?请告诉我。谢谢你!我在使用ADF管道。

azure-data-factory azure-table-storage azure-data-factory-2
1个回答
2
投票

在通常情况下,在Data Factory中从blob存储中加载数据时。在blob文件中,所有的默认数据类型都是字符串。,数据工厂会帮你把数据类型自动转换为Sink。

但它也不能满足我们所有的要求。

我测试了将数据从Blob复制到Table Storage,发现:如果我们不在Source中手动指定数据类型,管道执行后,所有的数据类型都是String。如果我们不在Source中手动指定数据类型,管道执行后,所有数据类型在Sink(Table Storage)中都会变成String。.

例如,这是我的源blob文件。enter image description here

如果我不改变源数据类型 在Sink表中似乎一切正常enter image description hereenter image description here

但在管道执行后,表中的数据类型都是String。enter image description here

如果我们手动改变源blob的数据类型,就可以正常工作! enter image description here

enter image description here

还有一个问题,有点困惑的是,从你的截图上看,Mapping Data Flow的UI好像是Sink,但是Mapping Data Flow不支持Table Storage作为Sink。

希望能帮到你。


0
投票

终于想明白了问题所在--我当时使用的是DelimitedText格式的Blob存储。转换为Parquet格式后,我可以看到数据以正确的类型写入表存储。

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