首页 > 解决方案 > 将 Null 和空值从 json sink 删除到 blob 存储

问题描述

我正在使用 Azure 数据流从 Azure SQL DB 读取记录作为源,对其进行修改并将其作为 json 文件写入 blob 存储。我只需要 JSON 中的非空值和 -null 值。

因此,如果源记录如下:

CustomerID, contact, age
10000, null, 45
10001, "", 35
10002, "7805289894", 38

JSON 应该是这样的:

[{"CustomerID": 10000, "age": 45}, {"CustomerID": 10001, "age": 35}, {"CustomerID": 10002, "contact": "7805289894", "age": 38}]

我们如何在 azure 数据流中实现这一点?

请帮助解决这个问题。

标签: azureazure-data-factory-2

解决方案


我创建了一个简单的测试,我认为结果是你想要的: 在此处输入图像描述

  1. 源是 Azure SQL。当我们将文件接收为 json 格式时,Azure 数据流将自动过滤 Null 属性。所以在DerivedColumn1活动中,我们可以使用表达式case(length(contact)==0, toString(null()), contact)转换''null. 在此处输入图像描述

  2. 活动之后DerivedColumn1,我们可以看到非空值和空值被转换为空值。 在此处输入图像描述

  3. 调试结果如下: 在此处输入图像描述


推荐阅读