You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Azure Data Factory从ADLS的CSV取单行数据并执行SQL删除操作?

Azure Data Factory 实现方案

1. 从ADLS的CSV文件获取单行数据

可以实现,常用两种方式:

  • Lookup活动:配置ADLS Gen2链接服务和CSV数据集(开启“第一行作为表头”),在Lookup活动设置中把“Top count”设为1,即可获取CSV第一行数据;若需按条件筛选单行,可在“查询”栏输入类似SELECT * FROM your_csv WHERE [column_name] = 'target_value'的语句(需确保数据集启用SQL查询功能)。
  • 数据流活动:在数据流中添加“源”组件指向ADLS的CSV,添加“筛选”组件设置匹配条件(如rowNumber() == 1取第一行,或特定业务条件),最后用“接收器”输出单行数据,或通过“聚合”组件提取目标行。

2. 提取时间戳并执行Azure SQL DB删除查询

按以下步骤实现:

步骤1:提取CSV中的'created on'时间戳

用Lookup活动读取目标CSV,配置同上述方式,通过Top count或筛选查询获取目标行数据。将Lookup活动的输出结果(如@{activity('LookupCSV').output.firstRow['created on']})存入字符串变量(如TimestampVar),若时间格式不匹配SQL要求,可使用formatDateTime()函数转换,示例:

@{formatDateTime(activity('LookupCSV').output.firstRow['created on'], 'yyyy-MM-dd HH:mm:ss')}

步骤2:执行删除SQL查询

添加Execute SQL活动,配置Azure SQL DB链接服务,在“SQL查询”栏输入动态SQL语句(列名含空格需用方括号包裹):

DELETE FROM your_table WHERE [created on] = '@{variables('TimestampVar')}'

若SQL中created on为datetime类型,需确保变量时间格式与数据库存储格式一致,避免转换错误。

注意事项

  • 确保ADLS链接服务有CSV文件读取权限,SQL链接服务有目标表的删除权限。
  • 若CSV存在多行匹配时间戳,可调整Lookup查询逻辑,或在数据流中聚合所有目标时间戳,再通过批量删除语句执行。

内容的提问来源于stack exchange,提问作者PAVAN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 09:25:24