ADF 映射数据流,是不是可以在源上执行 SQL?

Posted

技术标签:

【中文标题】ADF 映射数据流,是不是可以在源上执行 SQL?【英文标题】:ADF Mapping Data Flows, is it possible to execute SQL on a source?ADF 映射数据流,是否可以在源上执行 SQL? 【发布时间】:2020-06-13 06:49:06 【问题描述】:

所以我继续将我可爱的 ​​SSIS 包重写为 ADF 数据流。但是,在很多情况下,我有一些带有相当复杂的 SQL 语句的 OLE DB 源,然后是其他转换。

假设有一条 SQL 语句连接 10 个不同的表。据我所知,我只能在接收器上执行 SQL 语句only。因此,为了获得稍后使用的相同数据集,我必须创建 10 个不同的源和 10 个连接操作。对吗?

这是可能的,但它似乎不是很有效。我想到的唯一另一件事是重新考虑我们的整个 DWH 逻辑,但这会增加很多工作量,所以我宁愿避免这样做。

提前谢谢你!

【问题讨论】:

【参考方案1】:

其实可以在Source上执行SQL查询(只能做sql查询)。

例如,我在 Source Azure SQL 数据库中进行 SQL 查询。

这是我的表 test4test6 中的数据:

不要在源数据集中指定表:

数据流源设置:

Source Options,执行一个连接两个表的 SQL 查询:

select a.id, a.tname,b.tt from test6 as a left join test4 as b  on a.id=b.id

导入查询结果的schema:

数据预览:

希望这会有所帮助。

【讨论】:

以上是关于ADF 映射数据流,是不是可以在源上执行 SQL?的主要内容,如果未能解决你的问题,请参考以下文章

如何解决冲突:使用开玩笑快照测试时“在源上删除,在目标上修改”?

SQL 从包含表名、列名和值列映射的数据表中将数据插入到多个表中,可以在源中更改

无法将查找活动输出映射到 ADF 中的复制活动映射

使用 ADF 和 Oracle SQL 执行缓慢的视图

NodeJs:Chrome 检查器可以映射源但无法在原始源上调试

将replicated数据与元数据关联