在数据流(Azure Data Factory v2)中以单联接转换联接多个表

时间:2019-11-28 06:22:19

标签: sql azure azure-data-factory-2 azure-data-flow

让我们将示例SQL用作:

    select a.a1
    from
    alice a,
    bob b,
    chris c,
    don d
    where 
    a.a1 = b.b1 ,
    and b.b1 = c.c1 ,
    and c.c1 = d.d1 ;

在上述查询中创建Data Flow(Azure Data Factory v2)以处理内部联接时,我们需要添加2个不同的join transformation。还有其他方法可以对这些多个内部联接使用单联接转换吗?

以上查询只是一个示例,通常单个查询中可以有10到30个连接。



PS:此问题严格是在寻找包含Azure Data Flow的答案,因此请在回答之前先阅读一下。
Azure数据流(不要与Azure数据工厂混为一谈)/数据流/映射数据流允许用户开发图形数据转换逻辑而无需编写代码,并且它不支持自己的expression language

以外的任何语言

3 个答案:

答案 0 :(得分:2)

您可以使用Databricks Spark并直接编写SQL,而不用使用图形编辑器。

这里是guidelines

答案 1 :(得分:-1)

您好,您可以尝试此查询。

SELECT a.a1 FROM alice a JOIN bob b ON b.column = a.column JOIN chris c ON c.column = b.column JOIN don d ON d.column = c.column

,或者您可以浏览此链接azure-sql-query-joins。这很有启发性。

答案 2 :(得分:-2)

我的建议是创建利用SQL语句或视图的数据集。然后,在ADF中,您只需要加入创建的视图和其他数据集目标即可。

请参见Build single dataset from multiple tables in Azure Data Factory

enter image description here

创建视图

注意:我还将利用更简单易懂的联接语法方法。

CREATE VIEW some_view AS 
SELECT 
  a.*
, b.*
, c.*
FROM table_a a 
JOIN table_b b ON b.column = a.column
JOIN table_c c ON c.column = b.column

ADF中的等效单联接

SELECT 
    x.*
  , y.*
FROM some_view x
JOIN other_table y ON y.column = x.column