Pump data into an Essbase cube directly from a relational database with just Java and no load rule using Hyperpipe

Kind of a wordy blog title. There is plenty of more information on the Github project page.

Based on a conversation with Cameron Lackpour, I wrote a small utility that can move data from any JDBC data source to an Essbase cube. You don’t need MaxL, a load rule, ODBC, ODI, or any of that stuff.  I mean, you might want to use those things instead of this odd little one-off utility, but if you like living on the edge you can give this a try.

Hyperpipe works by piggybacking off some functionality that is already in the Essbase Java API. Craft a SQL query in a particular format and you can load up an Essbase cube without having to make a load rule or jump through too many other hoops. This could be useful in some situations. Hyperpipe is believed to work with all Essbase versions 9.3.1 or higher but has not been extensively tested. Hyperpipe is an open-source project released under the liberal Apache Software License — a business-friendly license that you can do pretty much anything you want to.

Please try it out if you’re interested and let me know if you have any questions, comments, suggestions, or issues.

Happy cubing!

One thought on “Pump data into an Essbase cube directly from a relational database with just Java and no load rule using Hyperpipe

  1. The essential question — do you know of a way to collect multiple load errors when it can’t find members in the outline, and have the process continue loading as much as it can despite such load rejections?

    Sometimes we have data for dimension members which (by annoying but unavoidable user demand) are not in the outline. In the old EAS load rule world we would get a dataload.err file that would collect 1000 or 5000 kick-outs, so we could get a better idea of what branch of a tree was missing. In the Hyperpipe-like way I’m doing it now, I get one error message, the entire batch is discarded, the load process stops.

    I’ll have to admit I did not use the Hyperpipe utility as is, but I looked at your code and used the basic concept to do my own dataload. It’s been working great, I have a big project where all the dimensions and the data are loaded dynamically every day, with no load or build rules or maxl anywhere.

Leave a Reply

Your email address will not be published. Required fields are marked *