ADF-REVIEW
2023-12-08 本文已影响0人
山猪打不过家猪
30-32 Get metadata/filter/foreach
34 until
类似于 do until 直到一个条件成立,才结束,例如实现一个查看blob里,有没有a的文件,有就copy,无就一直循环
- 使用until来判断blob里,是否有a.txt的文件,有就将他copy到output里
35 validation
用来验证数据源是否存在,可以设置检测事件,简化了until判断是否存在
- 使用validation 来判断blob里,是否有a.txt的文件,有就将他copy到output里
36 switch
类似于case when
![](https://img.haomeiwen.com/i14814834/d6fe620c941066a0.png)
- 根据文件的后缀,自动将文件存在不同的blob里
37 append variable
类似于python的List的append方法
39 procedure
-创建procedure
CREATE PROCEDURE InsertADFFailedRecord(
@p_error_type VARCHAR(255),
@p_pipeline_name VARCHAR(255),
@p_faile_dateTime DATETIME
)as
BEGIN
INSERT INTO ADF_FAILED
VALUES (@p_error_type, @p_pipeline_name, @p_faile_dateTime)
END
40 excute
- 注意的是,调用excute 的时候,会默认运行一次内部调用的pipeline
DATA FLOW
45 inline dataset in dataflow
一次性的dataset可以使用inline dataset他是即用即失的
46 join func in dataflow
类似于 sql的 join, left join, union
47 conditional split
根据条件将一张表,分成多个表
48 lookup
类似于left join ,只能用于2张表,但是他根据条件来匹配,如果有一个表里有重复的数据,它可以根据重复数据的其他column
49 exists
可以选择交集,或者选择差集
50 union
将多个dataset 合并到一起
51 Derived Column
用于生成新的列
52 select
用于对column进行 drop, rename,reorder and doesn't change the raw dataset
53 aggregate
group by和 sum min,类似于sql的 group by 之后在聚合运算
54 pivot
行转列
![](https://img.haomeiwen.com/i14814834/76f57f7ee45b1b23.png)
![](https://img.haomeiwen.com/i14814834/86a4676fd66d74ec.png)
55 unpivot
列转行
56 Surrogate key
添加一列外键,类似于自增的id,可以指定步长和起始
57 Windows Transformation
类似于sql的over
SELECT sc.[s_id]
,st.s_name
,[c].c_name
,sc.s_score
,total_score = sum(sc.s_score) over(PARTITION BY (sc.s_id))
--,ranking = ROW_NUMBER() over(PARTITION BY sc.s_id order by sc.s_score desc)
,rankingWithRank = rank() over(PARTITION BY sc.s_id order by sc.s_score desc)
,rankingWithDens = DENSE_RANK() over(PARTITION BY sc.s_id order by sc.s_score desc)
FROM [SQL50].[dbo].[score] as sc left join student st on st.s_id= sc.s_id
left join course as c on sc.c_id =c.c_id
58 rank
给table添加排序
59 filter
用来过滤需要的数据,类似于where
60 stringify
可以将列表换为字符串形式的
61 parse
可以将一列有规则的字符串分割成为多列
62 flatten
扁平化json
63 sort
order by
64 alter
用来更改列,添加,删除,插入
65 realtime project
-
现有一个csv,但是里面的数据是不符合规则的,我们需要清洗过后,将其放入到output的csv中,可以看出日期,和id都有问题
image.png
- 添加source
-
添加assert,并且将SOID添加为unique,如果expression里面没有出现列名,大概率是因为没有导入schema
image.png
-
查看数据,发现SOID有重复的
image.png
- 检查日期是否正确