PDA

View Full Version : New Ruby Scripting Step for Kettle available



slawomir.chodnicki
02-21-2011, 08:03 PM
Hi everyone,

If you're interested in Ruby scripting for Kettle, you may want to check out the Ruby-Scripting-for-Kettle project on github.

https://github.com/type-exit/Ruby-Scripting-for-Kettle

I've just tagged 1.0 RC1 :)

Here's some features at a glance:


rows are represented as a hashes, indexed by field name
automatic conversion between all Kettle data types and native Ruby types
scripts have access to rows from info steps
scripts can send rows selectively to target steps
scripts may redirect rows to an error stream by using Kettles error handling feature
a script tab may be declared a start script, which executes only once before the first row arrives, useful for init tasks
a script tab may be declared an end script, which executes only after all incoming rows have been processed, useful for cleanup and summary tasks
a script tab may be declared a lib script, which can be imported by any other script tab when required
steps with no input can be used as row generators
Kettle step ($step) and transformation ($trans) objects are available in ruby scope for advanced scripting
you may call your favorite java libraries from the ruby script
you may use ruby gems in Kettle transformations


The feature set aims to combine some existing features of the JavaScript and UDJC step with the elegance of the Ruby language.

Here's a small screenshot:

https://github.com/type-exit/Ruby-Scripting-for-Kettle/blob/master/plugin/images/samples_small.png?raw=true

There are many samples bundled with the plugin, to help you get started. So jump right in and find out about Ruby scripting for Kettle.

Enjoy :)

Slawo

MattCasters
02-22-2011, 06:02 AM
Congratulations on another first rate job Slawo! Too bad I don't know the first thing about Ruby but I just might try it out :-)

slawomir.chodnicki
02-22-2011, 07:51 AM
Thanks Matt,

by all means, give it a shot. The language is elegant, concise, suited for dirty data mangling, reasonably fast, and the jRuby project is well maintained :)

Cheers

Slawo