TD Connector Stage Bulk Load

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
G_rajeshk
Participant
Posts: 3
Joined: Wed Jan 10, 2007 6:48 pm

TD Connector Stage Bulk Load

Post by G_rajeshk »

Hi All,

I am trying to load to Teradata using TD Connector Stage.

Job Design

DB2 ----Transformer----TD Connector (Access Method - Bulk and Load type - Load)


arrry-size- 2000
record count-2000
access method- Bulk
parallel synchronization- no

I'm getting the following error. The job failed.Can somebody help us in resolving the issue .

Teradata_Connector_20,0: The estimated row length of 431 bytes multiplied by the array size of 2000 is 862000 which exceeds the maximum buffer size of 64260 [:0]

Teradata_Connector_20,0: RDBMS code 2113: libloadop.so) instance(1): INITIATE method failed with status = Fatal Error SQL statement: INSERT INTO IPPT_CALC_PRD
<snip>
(CC_TeraParallelTransporter::initiate, file CC_TeraParallelTransporter.cpp, line 1249) [pxbridge.C:5955]

Thanks in Advance.

Thanks
Rajesh G
Thanks and Regards,
Rajesh Gopalsamy
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

Looks like one solution would be to drop your array size below 150.
-craig

"You can never have too many knives" -- Logan Nine Fingers
prasannakumarkk
Participant
Posts: 117
Joined: Wed Feb 06, 2013 9:24 am
Location: Chennai,TN, India

Post by prasannakumarkk »

array size = buffer_size/row length.
Thanks,
Prasanna
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

You could also increase the default buffer size in Teradata. Beware, however, if you're using multiple sessions, that they share the buffer. So

Code: Select all

ArraySize = (buffersize / sessions) / rowlength
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
crystal_pup
Participant
Posts: 62
Joined: Thu Feb 08, 2007 6:01 am
Location: Pune

Post by crystal_pup »

Decrease the array size value to somewhere like 150 or 200.It will solve the problem.
PaulVL
Premium Member
Premium Member
Posts: 1315
Joined: Fri Dec 17, 2010 4:36 pm

Post by PaulVL »

A bad array size should only cause the connector to swap out to TMPDIR, not abort the job. (I think)


Double check the table definition you are using actually matches the table you are loading.

Try modifying your BULK to IMMEDIATE to see if if that gets rid of the abort. (as a test)

Did you happen to use Balance Optimization to help create the job?
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

crystal_pup wrote:Decrease the array size value to somewhere like 150 or 200.It will solve the problem.
150 or 200 won't... do the math and you'll see that the maximum array size without increasing the buffer would be 149.0951276102088 which is why I said less than 150.
-craig

"You can never have too many knives" -- Logan Nine Fingers
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

Paul is correct. Overstating the array size will not abort the job; lacking other errors it will finish successfully, though less efficiently. The issue is buffering within Teradata (which is why increasing the default buffer size there is an option).
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

And yet all it complained about was the array size and then logged a fatal error. So the array size isn't the source of the fatality, something else is going on here? Perhaps something not included in the post?
-craig

"You can never have too many knives" -- Logan Nine Fingers
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

There's something wrong with the INSERT statement, which is why the INITIATE method failed.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

Makes sense. I removed the rather large list of column names as all it was doing was pushing the edge of the post way too far to the right. I don't recalling there being anything that looked improper with it, perhaps just column name issues?
-craig

"You can never have too many knives" -- Logan Nine Fingers
kwwilliams
Participant
Posts: 437
Joined: Fri Oct 21, 2005 10:00 pm

Post by kwwilliams »

Teradata TPT ignores the array size when in bulk mode. Ignore the warning on the buffer size. If you switch the access method to immediate, the array size would be an issue. IBM is trying to be informative in telling you about the buffer size, but I wish they would not display it unless it is applicable it confuses everybody.

Post your insert statement, that is where you will find the error.
Post Reply