我使用ADF管道将数据从数据湖复制到blob存储,再从blob存储复制到表存储。
如下图所示,这是ADF数据流汇--Blob存储中的列类型(整数、字符串、时间戳)。
这里是复制数据活动中的Mapping设置。
在表存储中查看输出时,我看到所有的列都是字符串类型。
为什么表存储保存的数据都是字符串值?如何解决表存储中的这个问题,使其能接受正确类型(整数、字符串、时间戳)的列?请告诉我。谢谢你!我在使用ADF管道。
在通常情况下,在Data Factory中从blob存储中加载数据时。在blob文件中,所有的默认数据类型都是字符串。,数据工厂会帮你把数据类型自动转换为Sink。
但它也不能满足我们所有的要求。
我测试了将数据从Blob复制到Table Storage,发现:如果我们不在Source中手动指定数据类型,管道执行后,所有的数据类型都是String。如果我们不在Source中手动指定数据类型,管道执行后,所有数据类型在Sink(Table Storage)中都会变成String。.
还有一个问题,有点困惑的是,从你的截图上看,Mapping Data Flow的UI好像是Sink,但是Mapping Data Flow不支持Table Storage作为Sink。
希望能帮到你。
终于想明白了问题所在--我当时使用的是DelimitedText格式的Blob存储。转换为Parquet格式后,我可以看到数据以正确的类型写入表存储。