我是Azure数据工厂的新手,目前有以下管道设置。
- Azure数据工厂管道 *
- 每个人的内心 *
管道执行以下操作:
1.每天读取一个目录的文件
1.根据文件类型过滤目录中的子文件[仅选择TSV文件]
1.迭代每个文件,并将数据复制到Azure Data Explorer(如果它们具有正确的架构which I have defined in mapping for the copy activity)。
1.然后将复制的文件移动到不同的目录并从原始目录中删除,以便不再复制。
**[Question]:**我想删除或跳过任何一个属性为空值的行。
我正在研究使用数据流,但我不确定如何使用数据流读取多个tsv文件并在应用转换删除空记录之前验证它们的模式。
请让我知道是否有一个解决方案,我可以跳过为每个循环中的空值,或者如果我可以使用数据流来做同样的事情。
如果我可以使用数据流,我如何读取多个文件并在应用行转换之前验证它们的列名(模式)?
任何可以帮助我删除或跳过这些空值的建议都将非常有帮助
谢谢你,谢谢
2条答案
按热度按时间gcxthw6b1#
好的,在ForEachActivity中,您只需要添加一个简单的Activity即可。
其主要思想是执行过滤器/Assert活动,然后写入多个接收器。
ADF低电平:
来源:按照要求添加您的tsv文件,并确保在
After completion
->**Delete source files
**中选择,这将保存您添加删除活动。过滤器活动:
现在,根据你的用例,你想过滤空值的行吗?或者你想验证你没有空值。如果你想过滤,只需添加一个过滤活动,在过滤设置->过滤-> '在这里添加您的条件'。如果您需要验证行并使ASTRLOW失败,请使用assert活动
过滤条件:
false(isNull(columnName))
Flume:
我添加了2个接收器,一个用于ADE,一个用于新目录。
你可以在这里阅读更多关于它:
https://learn.microsoft.com/en-us/azure/data-factory/data-flow-assert
https://learn.microsoft.com/en-us/azure/data-factory/data-flow-filter
https://microsoft-bitools.blogspot.com/2019/05/azure-incremental-load-using-adf-data.html
请考虑增量负载并相应地改变电流。
7nbnzgx92#
要过滤掉Map过滤器转换中的空值,您可以在“过滤器”框中使用以下表达式-