输出到Azure SQL数据库的数据流仅包含Azure数据工厂上的NULL数据

问题描述

我正在测试Azure数据工厂上的数据流。我创建了具有以下详细信息的数据流: 源数据集链接服务-来自Blob存储的CSV文件数据集 接收器链接服务-具有预创建表的Azure sql数据库 我的CSV文件非常简单,因为它们仅包含2列(PARENT,CHILD)。因此,我在sql DB中的表也只有2列。

CSVdataset

对于数据流的接收器设置,我允许插入数据,并将其他选项保留为认值。

SinkAllowInsert

我还按照屏幕快照映射了输入和输出列的两列。

mapColumns

mapColumns2

当我检查结果时,具有数据流的管道成功运行,可以看到处理了5732行。这是检查的正确方法吗?因为这是我第一次在Azure Data Factory中尝试此功能

rowProceesed

但是,当我单击数据预览标签时,它们都是NULL值。

allNULLvalues

然后;当我在试图从Blob存储中的CSV文件中插入数据并从该表中选择前1000行的表中检查了我的Azure sql DB时,我看不到任何数据。

SQLnoData

能否让我知道我在数据流上配置不正确的内容?预先非常感谢。

这是ADF数据流源数据的屏幕快照,它的确在右侧看到了数据,因为它们不是NULL,但在左侧都是NULL。我想像右边是来自Blob上来源的CSV数据吗?左边是接收器的目的地,因为该表现在是空的?

ADFsourceData

这是接收器检查输入的屏幕截图,我认为这是正确的,因为它正确读取了两列(父母,孩子),对吗?

ADFsinkDataInspect

添加Map漂移后,将地图“父” =>“父”和“子” =>“子”

mapDrift0

运行管道后,我收到此错误消息。

mapdrift1

检查接收器数据预览时,出现此错误消息。似乎映射不正确?

mapdrifted1

我建议将MapDrifted1表达式重命名为“ toString(byName('Parent1))”和“ Child1”。

MapDrifted1

数据流成功执行,但是我仍然在接收器sql表中获得NULL数据。

NULLdata1

NULLdata2

解决方法

您可以将脚本复制/粘贴到数据流设计图的后面吗?转到ADF UI,打开数据流,然后单击右上角的“脚本”按钮。

在源转换中,单击“数据预览”以查看数据。确保您看到的是数据,而不是NULL。另外,请查看 INPUT 上针对您的接收器的检查,以查看ADF是否正在读取其他列。