Skip to content
NextLytics
Megamenü_2023_Über-uns

Shaping Business Intelligence

Ob clevere Zusatzprodukte für SAP BI, Entwicklung aussagekräftiger Dashboards oder Implementierung KI-basierter Anwendungen - wir gestalten zusammen mit Ihnen die Zukunft von Business Intelligence. 

Megamenü_2023_Über-uns_1

Über uns

Als Partner mit tiefem Prozess-Know-how, Wissen der neuesten SAP-Technologien sowie hoher sozialer Kompetenz und langjähriger Projekterfahrung gestalten wir die Zukunft von Business Intelligence auch in Ihrem Unternehmen.

Megamenü_2023_Methodik

Unsere Methodik

Die Mischung aus klassischem Wasserfallmodell und agiler Methodik garantiert unseren Projekten eine hohe Effizienz und Zufriedenheit auf beiden Seiten. Erfahren Sie mehr über unsere Vorgehensweise.

Produkte
Megamenü_2023_NextTables

NextTables

Daten in SAP BW out of the Box bearbeiten: Mit NextTables wird das Editieren von Tabellen einfacher, schneller und intuitiver, egal ob Sie SAP BW on HANA, SAP S/4HANA oder SAP BW 4/HANA nutzen.

Megamenü_2023_Connector

NextLytics Connectoren

Die zunehmende Automatisierung von Prozessen erfordert die Konnektivität von IT-Systemen. Die NextLytics Connectoren ermöglichen eine Verbindung Ihres SAP Ökosystems mit diversen open-source Technologien.

IT-Services
Megamenü_2023_Data-Science

Data Science & Engineering

Bereit für die Zukunft? Als starker Partner stehen wir Ihnen bei der Konzeption, Umsetzung und Optimierung Ihrer KI-Anwendung zur Seite.

Megamenü_2023_Planning

SAP Planning

Wir gestalten neue Planungsanwendungen mithilfe von SAP BPC Embedded, IP oder  SAC Planning, die einen Mehrwert für Ihr Unternehmen schaffen.

Megamenü_2023_Dashboarding

Dashboarding

Mit unserer Expertise verhelfen wir Ihnen auf Basis von Tableau, Power BI, SAP Analytics Cloud oder SAP Lumira zu aussagekräftigen Dashboards. 

Megamenü_2023_Data-Warehouse-1

SAP Data Warehouse

Planen Sie eine Migration auf SAP HANA? Wir zeigen Ihnen, welche Herausforderungen zu beachten sind und welche Vorteile eine Migration bringt.

Business Analytics
Megamenü_2023_Procurement

Procurement Analytics

Transparente und valide Zahlen sind vor allem in Unternehmen mit dezentraler Struktur wichtig. SAP Procurement Analytics ermöglicht die Auswertung von SAP ERP-Daten in SAP BI.

Megamenü_2023_Reporting

SAP HR Reporting & Analytics

Mit unserem Standardmodell für Reporting von SAP HCM mit SAP BW beschleunigen Sie administrative Tätigkeiten und stellen Daten aus verschiedenen Systemen zentral und valide zur Verfügung.

Megamenü_2023_Dataquality

Data Quality Management

In Zeiten von Big Data und IoT kommt der Vorhaltung einer hohen Datenqualität eine enorm wichtige Bedeutung zu. Mit unserer Lösung für Datenqualitätsmanagement (DQM) behalten Sie stets den Überblick.

Karriere
Megamenü_2023_Karriere-2b

Arbeiten bei NextLytics

Wenn Du mit Freude zur Arbeit gehen möchtest und dabei Deine berufliche und persönliche Weiterentwicklung nicht zu kurz kommen soll, dann bist Du bei uns genau richtig! 

Megamenü_2023_Karriere-1

Berufserfahrene

Zeit für etwas Neues? Gehe Deinen nächsten beruflichen Schritt und gestalte Innovation und Wachstum in einem spannenden Umfeld zusammen mit uns!

Megamenü_2023_Karriere-5

Berufseinsteigende

Schluss mit grauer Theorie - Zeit, die farbenfrohe Praxis kennenzulernen! Gestalte bei uns Deinen Einstieg ins Berufsleben mit lehrreichen Projekten und Freude an der Arbeit.

Megamenü_2023_Karriere-4-1

Studierende

Du möchtest nicht bloß die Theorie studieren, sondern Dich gleichzeitig auch praktisch von ihr überzeugen? Teste mit uns Theorie und Praxis und erlebe wo sich Unterschiede zeigen.

Megamenü_2023_Karriere-3

Offene Stellen

Hier findest Du alle offenen Stellenangebote. Schau Dich um und bewirb Dich - wir freuen uns! Falls keine passende Stelle dabei ist, sende uns gerne Deine Initiativbewerbung zu.

Blog
NextLytics Newsletter Teaser
Hier für unseren monatlichen Newsletter anmelden!
Newsletter abonnieren
 

SAP HANA Connector - Data Science mit SAP HANA praxisnah gestalten

Heutzutage ist ein schnelles Prototyping im Machine Learning Bereich wichtig, um sich möglichst viele Ansätze zu evaluieren und die erfolgversprechenden auszuwählen und weiterzuverfolgen. Für die Datenmanipulation und auch die Modellbildung wird gerne die Programmiersprache Python benutzt, da diese neueste Algorithmen und eine einfache Syntax vereint. Für das Anpassen des deskriptiven oder prädiktiven Modells sind allerdings große Mengen an Trainingsdaten notwendig. Hierin zeigt sich ein deutlicher Flaschenhals: Während die Algorithmen vertikal skaliert werden können, ist die Datenübertragung auf den Anwendungsserver ein typischer Faktor für Wartezeiten im Prototyping. Für hoch-performante Analysen wird deshalb gerne auf die SAP HANA gesetzt. Die Datenbereitstellung findet HANA-seitig in Echtzeit statt und zusätzliche Funktionen für In-Database-Machine-Learning werden geboten. 

In diesem Artikel zeigen wir Ihnen, welche Möglichkeiten Sie haben über die open-source Programmiersprache Python in Kombination mit der SAP HANA eigene Data Science Anwendungen zu realisieren.

Machine Learning auf SAP HANA

Zunächst erfahren Sie, warum die SAP HANA für den Data Science Bereich eine hervorragende Wahl darstellt. Die SAP HANA (High-performance Analytic Appliance) ist eine Entwicklungs- und Integrationsplattform, welche im Kern aus einem relationalen, spaltenorientierten In-Memory-Datenbank-Managementsystem besteht. Im Hauptspeicher liegen die Daten in Echtzeit bereit, was die beste Voraussetzung für eine schnelle Zugriffszeit bedeutet. Dieser Performancevorteil ist für Machine Learning Anwendungen von Bedeutung.

Neben der reinen Datenspeicherung bringt die HANA viele praktische Funktionen für die Datenanalyse mit. Mit der Application Function Library (AFL) stehen einige Funktionen für erweiterte Analysen bereit. Diese können über SAP HANA SQLScript Prozeduren aufgerufen werden, um analytische Algorithmen direkt in der Datenbank auszuführen.

Hier sind die HANA Predictive Analysis Library (PAL) und die HANA Automated Predictive Library (APL) erwähnenswert. Themen wie Clustering, Regression, Zeitreihenanalyse, Datenvorverarbeitung, allgemeine Statistik und Empfehlungssysteme werden abgedeckt. Hier kann durch In-Database-Machine-Learning die Modellierung ohne Datenübertragung direkt auf der Datenbankhardware ablaufen. 

SAP HANA Python Client API

Auf die beschriebenen Bibliotheken PAL und APL kann auch von Python aus zugegriffen werden. Hierfür wird die SAP HANA Python Client API verwendet, welche die Modellierung mittels HANA-DataFrames von Python aus steuert. Die Anwendung der analytischen Algorithmen findet vollständig auf der HANA statt und erzeugt dort Ergebnistabellen. Dies stellt die erste Möglichkeit dar, mittels Python auf Daten in einer HANA Instanz zuzugreifen. Allerdings schränken die begrenzte Algorithmenauswahl und die starren Ergebnistabellen die Flexibilität der Anwendung ein. Deshalb wird im Allgemeinen ein eigener Anwendungsserver mit Python verwendet.

HANA Daten in Python verarbeiten

Die Programmiersprache Python bietet einige Vorteile für Data Science Anwendungen. State-of-the-art Algorithmen, umfangreiche Datenmanipulation und die verständliche Syntax sind ausschlaggebende Hauptargumente. Entwickler*innen profitieren zusätzlich von den gut dokumentierten Packages und der unkomplizierten Einrichtung einer Entwicklungsumgebung. Für die Datenübertragung von der HANA aus  stehen mehrere Packages zur Verfügung. 


Wie Sie SAP BW und State of the Art Machine Learning zusammenbringen -
Laden Sie sich Ihr Whitepaper herunter! 

Whitepaper Machine Learning


HANA Database Client (hdbcli)

Für die technische Umsetzung der Datenübertragung aus der SAP HANA zum Python-Anwendungsserver steht zunächst einmal der HANA Database Client (hdbcli) Treiber als eine simple Methode bereit. Hier können Daten über einen Cursor abgerufen werden und SQL-Statements über die Verbindung ausgeführt werden. Sollen die Daten weiterverarbeitet werden, müssen diese erst in ein passendes Format
(z. B. Pandas DataFrames oder Numpy Array) gebracht werden. Im Weiteren ist auch der Upload mit Aufwand verbunden, da einzelne INSERT-INTO-Statements generiert und ausgeführt werden müssen. 

from hdbcli import dbapi
conn = dbapi.connect(
    address="<hostname>",
    port="<port>",
    user="<username>",
    password="<password>"
)

sql = 'SELECT * FROM TABLE1'
cursor = conn.cursor()

cursor.execute(sql)
for row in cursor.fetchall():
    print(row)

Sqlalchemy 

Mit der zusätzlichen Verwendung der Bibliothek sqlalchemy, lassen sich schneller große Datenmengen in eine erzeugte Tabelle hochladen und gezogene Daten lassen sich direkt in einen Pandas-DataFrame umwandeln. Dies spart Aufwand, hat aber noch einige Nachteile:

  • Eine manuelle Parallelisierung auf mehrere Threads muss selbst angelegt werden - inklusive das Zusammenfügen der temporären Uploadtabellen auf der SAP HANA beim Upload

Parallelization_data download_Python_SAP_HANA_Connector

Parallelisierung des Datendownloads

  • Das Schema der Zieltabelle muss vorhanden sein, um die Daten hochladen zu können. 

Die letzte Möglichkeit für einen Datenzugriff auf die HANA über Python wurde aufgrund der besonderen Anforderungen im Data Science Bereich von uns bei NextLytics entwickelt.

Phython SAP HANA Connector by NextLytics

Um das Zusammenspiel der SAP HANA mit der Programmiersprache Python zu optimieren, wurde ein eigener Connector entwickelt, der besonderes Augenmerk auf die einfache Verwendung aus Sicht von Python Entwickler*innen legt. Dabei waren uns folgende Punkte wichtig:

    • Performance durch Parallelisierung 
    • Sichere Authentifizierung
    • Volle Kompatibilität mit Pandas DataFrames
    • Einfache Nutzbarkeit für einen Data Science orientierten Python Entwickler*innen

Der NextLytics HANA Connector kann in Python einfach als ein Package geladen werden und stellt intuitive Funktionen zur Kommunikation mit einer HANA Instanz bereit. Alle Informationen zum Connector finden Sie auf unserer Webseite

SAP HANA Connector - Unser Fazit

Um Machine Learning Anwendungsfälle mit der Kombination aus Python und der SAP HANA umzusetzen, bieten sich Ihnen viele Möglichkeiten. Für einfache Anwendungsfälle sind die Application Functions Libraries APL und PAL für direkte Berechnungen auf der HANA die schnellste Option. Diese sind auch über den Python Client ausführbar.

Die Datenanalyse auf einen Anwendungsserver geht mit einem aufwendigen Datenübertrag einher. Hierfür können Sie neben dem Hana Database Client (hdbcli) auch auf SqlAlchemy setzen. Für diesen Use Case bietet Ihnen der NextLytics Python SAP HANA Connector einen signifikanten Geschwindigkeitsvorteil durch Parallelisierung und erlaubt es Entwickler*innen, schnell und einfach auf die HANA Datenbank zuzugreifen.

Haben Sie noch Fragen oder Interesse an dem Connector? NextLytics steht Ihnen stets als erfahrener Projektpartner zur Seite. Wir helfen Ihnen, Ihre Datenprobleme von der Datenintegration bis zum Einsatz von Machine Learning Modellen effektiv zu lösen. Sprechen Sie uns gerne an. 

Erfahren Sie mehr über den  Python SAP HANA Connector

 

, ,

avatar

Luise Wiesalla

Luise Wiesalla ist seit 2019 als Werkstudentin / studentische Beraterin im Bereich Data Analytics und Machine Learning bei der NextLytics AG tätig. Sie hat Erfahrung mit Full-Stack-Data-Science-Projekten und dem Einsatz der open-source Workflow-Management-Lösung Apache Airflow. Ihre Freizeit verbringt sie gerne damit, ihre Umgebung zu erkunden und in Bewegung zu sein.

Sie haben eine Frage zum Blog?
Fragen Sie Luise Wiesalla

Gender Hinweis Aufgrund der besseren Lesbarkeit wird im Text das generische Maskulinum verwendet. Gemeint sind jedoch immer alle Menschen.

Blog - NextLytics AG 

Welcome to our blog. In this section we regularly report on news and background information on topics such as SAP Business Intelligence (BI), SAP Dashboarding with Lumira Designer or SAP Analytics Cloud, Machine Learning with SAP BW, Data Science and Planning with SAP Business Planning and Consolidation (BPC), SAP Integrated Planning (IP) and SAC Planning and much more.

Informieren Sie mich über Neuigkeiten

Verwandte Beiträge

Letzte Beiträge