Error when loading Teradata Table

Post questions here relative to DataStage Enterprise/PX Edition for such areas as Parallel job design, Parallel datasets, BuildOps, Wrappers, etc.

Moderators: chulett, rschirm, roy

Post Reply
Inquisitive
Charter Member
Charter Member
Posts: 88
Joined: Tue Jan 13, 2004 3:07 pm

Error when loading Teradata Table

Post by Inquisitive »

Hi,

I am trying to load a Teradata Table from Datastage PX job (Unix platform).

Job reads data from a Dataset (I am able to view data from Dataset)
Copy stage drops some column and changes column name and send the records to Teradata Enterprise Stage.
Teradata Enterprise stage is loading Teradata table in 'Append' mode.

I am using default Configuration file with 2 nodes ( no nodes mentioned for database).
Teradata table is not a partitioned table.

When I execute job With above configuration I am getting following error:


main_program: Fatal Error: There are irreconcilable constraints on the number of
partitions of an operator: parallel Teradata_StrTransfer.
The number of partitions is already constrained to 10,
but an eSame partitioned input virtual dataset produced by
parallel Copy_45 has 2.
This step has 3 datasets:
ds0: {/home/vvxb1/Transfer_Details.ds
[pp] eSame=>eCollectAny
op0[2p] (parallel Data_Set_44)}
ds1: {op0[2p] (parallel Data_Set_44)
[pp] eSame#>eCollectAny
op1[2p] (parallel Copy_45)}
ds2: {op1[2p] (parallel Copy_45)
[pp] eSame#>eCollectAny
op2[10p] (parallel Teradata_StrTransfer)}
It has 3 operators:
op0[2p] {(parallel Data_Set_44)
}
op1[2p] {(parallel Copy_45)
}
op2[10p] {(parallel Teradata_StrTransfer)
}

Kindly let me know if you guys have any solution for this problem.

Thanks.
richdhan
Premium Member
Premium Member
Posts: 364
Joined: Thu Feb 12, 2004 12:24 am

Post by richdhan »

Hi,

What is the partitioning type that you are using for your dataset, copy and teradata enterprise stage. The problem seems to be somewhere here

main_program: Fatal Error: There are irreconcilable constraints on the number of partitions of an operator: parallel Teradata_StrTransfer.
The number of partitions is already constrained to 10,
but an eSame partitioned input virtual dataset produced by
parallel Copy_45 has 2.

It has 3 operators:
op0[2p] {(parallel Data_Set_44)
}
op1[2p] {(parallel Copy_45)
}
op2[10p] {(parallel Teradata_StrTransfer)
}

Pls also test with Teradata API stage and let us know what happens.

HTH
--Rich
Inquisitive
Charter Member
Charter Member
Posts: 88
Joined: Tue Jan 13, 2004 3:07 pm

Post by Inquisitive »

Well, Dataset is already partitioned in previous job. I am keeping 'same' partition in dataset and copy stage. In Teradata enterprise stage it is auto partitioned.

My configuration file has 2 nodes, but error below says

It has 3 operators:
op0[2p] {(parallel Data_Set_44)
}
op1[2p] {(parallel Copy_45)
}
op2[10p] {(parallel Teradata_StrTransfer)
}



Why is is it [10p] for Teradata stage?
kumar_s
Charter Member
Charter Member
Posts: 5245
Joined: Thu Jun 16, 2005 11:00 pm

Post by kumar_s »

Code: Select all

main_program: Fatal Error: There are irreconcilable constraints on the number of 
partitions of an operator: parallel Teradata_StrTransfer. 
The number of partitions is already constrained to 10,
I guess the the Database (Teradata) is configured on 10 nodes and Datastge is on 2 nodes. Since the same partition is maintained on the terradata from copy stage this error might have occured.

-Kumar
Inquisitive
Charter Member
Charter Member
Posts: 88
Joined: Tue Jan 13, 2004 3:07 pm

Post by Inquisitive »

On teradata Enterprise stage I have Auto partition.

Configuration file does not have any node defined for Database, in this scenarion how can teradata load can happen on multiple nodes? How is data partitioned (if on different nodes) when datastage loads it to Teradata.
felixyong
Participant
Posts: 35
Joined: Tue Jul 22, 2003 7:24 pm
Location: Australia

Post by felixyong »

Inquisitive wrote:On teradata Enterprise stage I have Auto partition.

Configuration file does not have any node defined for Database, in this scenarion how can teradata load can happen on multiple nodes? How is data partitioned (if on different nodes) when datastage loads it to Teradata.
Hi

In Teradata the data is partition by AMP and each node will be configured with multiple AMPs. The data is being partition using the Primary Index in Teradata to the varies AMP using HASH Logic.
Inquisitive
Charter Member
Charter Member
Posts: 88
Joined: Tue Jan 13, 2004 3:07 pm

Problem solved

Post by Inquisitive »

Hi All,

we were able to solve this problem and here is the solution:

When I manually selected node map constraints in Teradata Enterprise stage (stage -> Advanced-> Node map constraints) to available nodes (i.e. node1,node2) it went fine and inserted records into the table.

Any body knows how exactly this node map constraints play role in communication between Datastage (Orchestrate) to Teradata.
From error log it looked like file when I execute job with default node constraints (keeping them blank) there were 10 players [10p] for teradata stage and 2 players [2p] for copy stage and Dataset stage.

Can anybody explain the background process.

Thanks all for you inputs.
Post Reply