首页 > 解决方案 > 到 Azure SQL 数据库的数据流输出仅包含 Azure 数据工厂中的 NULL 数据

问题描述

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

CSV 数据集

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

水槽允许插入

我还根据屏幕截图映射了输入和输出列的 2 列。

地图列

地图列2

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

行进行

但是,当我单击数据预览选项卡时,它们都是 NULL 值。

所有NULL值

和; 当我在表中检查我的 Azure SQL DB 时,我尝试从 Blob 存储中插入来自 CSV 文件的数据,并从该表中选择前 1000 行,我没有看到任何数据。

SQLnoData

您能否让我知道我在数据流上的配置不正确?非常感谢您提前。

这是 ADF 数据流源数据的屏幕截图,它确实看到了右侧的数据,因为它们不是 NULL,但左侧都是 NULL。我想右侧是来自 blob 源的 CSV 数据,对吗?左侧是水槽目的地,因为桌子现在是空的?

ADF源数据

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

ADFsinkDataInspect

添加地图漂移后,映射“父”=>“父”和“子”=>“子”

地图漂移0

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

地图漂移1

检查接收器数据预览时,我收到此错误消息。好像映射不正确?

地图漂移1

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

地图漂移1

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

空数据1

空数据2

标签: sqlazure-sql-databaseazure-data-factorydataflow

解决方案


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

在您的源转换中,单击数据预览以查看数据。确保您看到的是数据,而不是 NULL。此外,查看 Inspect on the INPUT for your Sink,以查看 ADF 是否正在读取其他列。


推荐阅读