Skip to Content

Run Python/R/C++ code in SAP Hana not using R Server

Jan 21 at 11:18 AM


avatar image


I want to run a source code, written in Python/R/C++, into SAP HANA. The code consists of advanced machine learning techniques (swarm algorithms, deep neural networks and deep reinforcement learning) that are not available in PAL and should run in SAP HANA without accessing to a R Server. I think the algorithms could be partially translated into SQL Script, but part of the code will be hard to be translated into SQL Script and will be likely inefficient.

Some SAP experts argued me to use PAL as a first option, but those machine learning techniques are not available in PAL and it would not be necessary because I've already developed those models using Python, R and C++, so that I just need SAP HANA to invoke them as subroutines or executable programs. Since the SAP experts told me it's not possible, I'm trying to migrate all the algorithms into SQL Script in order to run them in SAP Hana. Besides, although some of the algorithms were written in R, for some reason I'm not allowed to use a R Server for that, but just raw SQL Script.

Please, is there any option to run them as R/Python/C++ code into SAP Hana or should be necessary migrated into SQL Scripts? Is there any option to migrate only part of the code to SQL Scripts and keep a kernel written in R/Python/C++ to be invoked from SAP Hana without R Server?

Thank you very much,


10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

1 Answer

Lars Breddemann
Jan 22 at 03:26 AM

To integrate C++ functions you could look into the Application Function Library SDK for SAP HANA. With this SDK you can write your own "PAL" libraries. See note and related for details.

Be aware though, that this is not a simple plug-and-play option like integrating RServer with HANA, but requires extensive C++ development know-how.

Show 1 Share
10 |10000 characters needed characters left characters exceeded

Thank you very much! I'll try this option