Lesson 122

ADF session 121 and 122 notes.

SCD type 3 implementation notes


scd3 --> maintains recent n events of history of specific attributes. 




output incremental load job.



Day 1:

day1:

delta3.txt

id,name,sal,company

101,aa,50000,ibm

102,bb,60000,infy

103,cc,70000,wipro



for scd type 3 job input is output of incremental load job (delta3.txt). 



target table :  Azure Sql

data base : mydb


create table scd3(id int, name varchar(100),

p2sal int, p1sal int , sal int , company varchar(100));


insert into scd3(id,name,sal,company) values

(101, 'aa', 20000, ibm),

(102, 'bb', 30000, infy);


After scd3 job:


 target table should contain following data:


scd3

-------------------------------------------------

id name p2sal p1sal sal company

--------------------------------------------------

101 aa null 20000 50000 ibm

102 bb null 30000 60000 infy

103 cc null null 70000 wipro

-----------------------------------------------------------



day2:

delta3.txt

id,name,sal,company

101,aa,80000,ibm

102,bb,90000,infy

103,cc,85000,wipro

104,dd,90000,ibm


after scd3 job: 

 

scd3

-------------------------------------------------

id name p2sal p1sal sal company

--------------------------------------------------

101 aa 20000 50000 80000 ibm

102 bb 30000 60000 90000  infy

103 cc null 70000 85000  wipro

104 dd null null 90000 ibm

-----------------------------------------------------------


day3:

delta3.txt

id,name,sal,company

101,aa,90000,ibm

102,bb,95000,infy


after scd3 job:

scd3

-------------------------------------------------

id name p2sal p1sal sal company

--------------------------------------------------

101 aa 50000 80000 90000  ibm

102 bb 60000 90000  95000  infy

103 cc null 70000 85000  wipro

104 dd null null 90000 ibm

-----------------------------------------------------------


SCD3 Implementation:

---------------------


1. Source : 

output stream : delta

dataset : ds_delta

projection :

id as integer

sal sal integer

2. Source:

output stream: scd3

dataset : ds_scd3


3. Lookup : 

output stream : lookup1

prime stream (left) : delta

lookup stream (right) : scd3

Lookup condition:

delta@id == scd3@id


4. select :

output stream : select1

Columns:

delta@id as id

delta@name as name

delta@sal as sal1 (rename)

delta@company as company 

scd2@id as id (drop)

scd2@name as name (drop)

scd2@sal as sal2 (rename)

p2sal as p2sal

p1sal as p1sal

scd2@company as company (drop)


5. derived column:

output streamm : derived1

Add columns:

column expression

---------------------------

p2sal p1sal

-----------------------


6. derived column:

output streamm : derived2

Add columns:

column expression

---------------------------

p1sal sal2

-----------------------


7. select :

output stream : select2

Columns:

id as id

name as name

sal1 as sal (rename)

company as company

p2sal as p2sal

p1sal as p1sal

sal2 as sal2 (drop)


8. Alter row:

output stream : alterrow1

Alterrow condition:

Action : upsert if

condition : 1==1

9. sink:

data set : ds_scd3

sink settings:

action : upsert

list of columns: id

------------------------------------------------------












Complete and Continue