HOW CAN I SEND HALF OF THE RECORDS TO ONE TARGET AND
REMAINING TO OTHER TARGET?
Answers were Sorted based on User's Feedback
Answer / satya
I dont agree with Ojesh, how do get the value from unix and
store it in variable.
Use a seq.gen t/m and write from SQ and SQE.GEN to Aggr
T/M. find the count and in the router use expressions
1. <= total_count/2
2. > total_count/2
for more details get in touch with me at satya.ylv@gmail.com
-Satya
| Is This Answer Correct ? | 4 Yes | 2 No |
Answer / ojesh
First do a count of the records in the file using a wc -l unix command, store that number in a variable.
create a counter in an expression and increment it with every icoming record.
create a router after that and route if the counter is less than half to target 1 else target 2.
| Is This Answer Correct ? | 1 Yes | 1 No |
Answer / vino
you can give the next val of the seq generator to the
expression which produces a sequence for all the incoming
records.then create an output port in the expression with
the calculation (incoming_seq mod 2) which will produce
either 0 or 1..then after that use a router creating groups
1 and 0...then load into the 2 targets.
| Is This Answer Correct ? | 5 Yes | 6 No |
Answer / satish potdar
Use a seq generator to tag row number to each row(use reset
option so that it will be reset to 1 after the session is
complete). OR use rownum in Source qualifier query.
Once the rows are tagged,pass constant 1 to aggregator to
get the count, join the aggregator output with source
pipeline USING JOINER(since you cannot join heterogeneous
rows using any other transformation). Use router to route
the rows to different targets using appropriate group
expression.
| Is This Answer Correct ? | 2 Yes | 3 No |
Answer / narender.vankuri
Take an example:Dept table
Source->source Qualifier->After this we take one Aggregator and one Expression -> and both of this connected to Joiner -> this connect to Router->Here we take one Sequence generator and connect to Router-> this router connect to Targets
Here we see conditions:
1) In Aggregator create Cnt Port and(No input ,only output) There expression Condition(COUNT(DeptNo)
In this create One extra port Decimal express:1(no input,only output)
Disable Groupby
2) In Expression create one extra port decimal expression:1
this 2 transformations(Aggregator,Expression) are connected to Joiner
3)In Joiner Enable SorterInput,Condition And connect to Router Input.
4)Take one Sequence Generator and connect to Router Nextval
5)In Router Group1:Nextval<=(Cnt/2)
6)In Router Group2:Nextval>(Cnt/2)
7)Now connected to Traget1,Target2.
| Is This Answer Correct ? | 2 Yes | 3 No |
What is router transformation
What are the components of workflow manager?
what is a junk dimension ?
14 Answers Atos Origin, Cognizant, HS, NIIT, TCS,
What is the need of an ETL tool?
What is a code page?
Suppose we have a source qualifier transformation that populates two target tables. How do you ensure tgt2 is loaded after tgt1?
What are the various types of transformation?
Write the advantages of partitioning a session?
What is meta data and system catalog?
What are the mapings that we use for slowly changing dimension table?
scenario
What if the source is a flat-file?