Page 1 of 1

BASIC Transform vs Transform

Posted: Tue Jul 11, 2006 6:05 am
by rwierdsm
Folks,

While reviewing an existing job in EE, I'm trying to determine if the transforms on the canvas are BASIC or not. There is nothing in the properties that indicates the type. They don't appear to be using any BASIC routines, yet there is no 'fan' symbol on either the input or output link.

Is there any quick, decisive way of determining whether a transform is BASIC or not?

Rob

Posted: Tue Jul 11, 2006 6:33 am
by ray.wurlod
A quick way might be simply to open an Expresion Editor to see whether BASIC functions, such as Iconv() and Oconv() are there.

If you want to track it down in DS_JOBOBJECTS, you will see that the different stage type objects are instantiated from different classes.

Posted: Tue Jul 11, 2006 6:37 am
by thompsonp
Rob,

I have never used a BASIC transformer in a parallel job, although I thought it was possible.

However, having just tried it in version 7.5.1 the 'Server' transformer is greyed out in the palette of a Parallel job.

Therefore I imagine the easiest way to tell is to look at what job type you are in (top left of canvas).

If you do manage to get both transformers in a Parallel job (please say how it's done) you certainly can't rely on the 'fan', which indicates data is being partitioned. This symbol will change if you set a stage to have different execution mode in the 'Advanced' tab (it can also change if you similarly edit the stage either side of it).

You can look in the tabular output grid of the transformer and you'll see that a 'Server' transformer has a couple of extra fields called Display and Data Element.

Posted: Tue Jul 11, 2006 6:41 am
by chulett
thompsonp wrote:However, having just tried it in version 7.5.1 the 'Server' transformer is greyed out in the palette of a Parallel job.
Server Transformer stage != PX BASIC Transformer stage. Two different things. Problem is all three use the exact same icon on the palette from what I recall.

And you have to specifically add it to your palette, probably via the 'Customize' option, but I don't have PX access and don't recall the specifics right now.

Posted: Tue Jul 11, 2006 6:44 am
by ray.wurlod
You don't have to add it to your Palette unless you want it there. You can use it directly from the Stage Types branch of the Repository.

Posted: Tue Jul 11, 2006 6:46 am
by chulett
True... but who drags stages from there? :wink:

Posted: Tue Jul 11, 2006 6:50 am
by ray.wurlod
Folks using 7.5x2 clients to access 7.5.1A servers, for which combination the Palette is horked.

Posted: Tue Jul 11, 2006 6:53 am
by chulett
Huh... interesting. Tanks.

Posted: Tue Jul 11, 2006 9:09 am
by rwierdsm
thompsonp wrote:You can look in the tabular output grid of the transformer and you'll see that a 'Server' transformer has a couple of extra fields called Display and Data Element.
OK,

I created a parallel job where I use both a BASIC transformer and a normal transformer. When I open the properties, indeed, the BASIC xfm has the two extra columns in the metadata grid.

I guess we can state a rule-of-thumb that if you see the Display and Data Element columns in the metadata grid of a xfm in parallel, be warned, you are dealing with a BASIC xfm, be aware of the implications of having this stage in your job.

Thanks for the input folks! :)

Rob

Posted: Tue Jul 11, 2006 10:56 am
by gsherry1
be warned , you are dealing with a BASIC xfm, be aware of the implications of having this stage in your job.
The only implications I'm aware of are:
1.) Your limited to the Server edition's Pseudo-Basic 4GL, and cannot access the new functions from Parallel.
2.) Not guranteed to work on MPP architectures.
3.) You may experience timeouts that may require to increase DSIPC_OPEN_TIMEOUT. I think this has something to do with the way Orchestrate engine communicates to the Basic Transform.

Are their others?

- Greg

Posted: Tue Jul 11, 2006 11:54 am
by rwierdsm
Both types of transform stage are slower, with the BASIC being, in most cases, the slower of the two (overhead of BASIC vs overhead of C++).

Posted: Tue Jul 11, 2006 1:56 pm
by ray.wurlod
Not so much "overhead of BASIC" as "overhead of translation into and out of BASIC (typeless) environment from the C++ (strongly typed)envionment".

It is likely that this overhead will cause perceived slowness in server jobs in Hawk, because the same transitions need to occur (everything operates in the parallel environment). The vendor will be unsympathetic and suggest that you migrate to parallel jobs to take advantage of the bright, shiny and (above all?) IBM-logoed product.

Posted: Mon Jul 31, 2006 10:13 pm
by Chuah
ray.wurlod wrote:Not so much "overhead of BASIC" as "overhead of translation into and out of BASIC (typeless) environment from the C++ (strongly typed)envionment".

It is likely that this overhead will cause perceiv ...
If I use the BASIC Transformer in my PX jobs ,does that mean then I'll lose the parallelism within the job ?

Pls advise.

Posted: Tue Aug 01, 2006 1:50 am
by SriKara
If I use the BASIC Transformer in my PX jobs ,does that mean then I'll lose the parallelism within the job ?
IMHO,
By using a BASIC Transformer, you wont lose the parallelism. The BASIC transformer stage will be simply run as those no.of instances as the no.of nodes.

Folks, correct me if i am missing something.

Regards,
Srikara.

Posted: Tue Aug 01, 2006 3:50 am
by ray.wurlod
The BASIC Transformer stage requires the presence of DataStage server software. In an SMP environment (share everything) this is not a problem, but in an MPP environment there will be issues unless DataStage server software is installed on every machine. Can I be your sales rep?!!