Analytics Legends Die Wissensplattform für SAP Analytics
Konzeptkarte

hana-ml — Machine Learning in Python innerhalb von SAP HANA Cloud

hana-ml — Machine Learning in Python innerhalb von SAP HANA Cloud — Abschnittsillustration von Analytics Legends für die SAP-Analytics-Wissensdatenbank (Konzepte, Studien, Academy)

Stand 2026-09-25

Was ist hana-ml?

hana-ml ist SAPs offizielles PyPI-Paket ("hana-ml", heute geprüft: Version 2.30.26091800), das PALs und APLs datenbankinterne Prozeduren hinter einer Estimator-artigen Python-API verpackt — ConnectionContext, DataFrame, UnifiedClassification/Regression, GridSearchCV und ModelStorage, das sogar Retraining planen kann. Daten verlassen HANA nie; dieselbe Wahl zwischen PAL-artigem manuellem Tuning und APL-artiger Automatisierung überträgt sich auf das importierte Submodul.

Was hana-ml tatsächlich ist

hana-ml ist SAPs offizielle Python-Client-Bibliothek für maschinelles Lernen mit SAP HANA. Der heute direkt geprüfte PyPI-Registrierungseintrag ist eindeutig: Paketname hana-ml, Zusammenfassung "Python Machine Learning Client for SAP HANA", Homepage sap.com, aktuelle Version 2.30.26091800 — eine datumscodierte Versionsnummer, die auf einen Build vom 18. September 2026 verweist, was selbst eine nützliche Tatsache ist: Diese Bibliothek erscheint in nahezu kontinuierlichem Release-Rhythmus, nicht jährlich, sodass das Pinnen einer Version in der Requirements-Datei eines Kunden mehr zählt als bei einem typischen, stabilen Data-Science-Paket.

Mechanisch ist hana-ml ein Python-Wrapper um dieselben AFL-Prozeduren, die PAL (C343) und APL (C344) in SQL bereitstellen. Es implementiert kein maschinelles Lernen in Python; es generiert und führt dieselben datenbankinternen Aufrufe aus und liefert dann Ergebnisse zurück. Das ist der ganze Designgedanke: Ein Data Scientist erhält eine vertraute, scikit-learn-artige API, während jede tatsächliche Berechnung weiterhin innerhalb von HANA gegen Tabellen läuft, die die Datenbank nie verlassen.

Das Push-Down-Muster, in echtem Code gezeigt

SAPs eigene Beispiel-Notebooks zeigen das Muster direkt. hana_ml.dataframe.ConnectionContext öffnet die Verbindung zu HANA; hana_ml.dataframe.DataFrame verpackt eine Tabelle oder eine SQL-Abfrage — der Aufruf von .head(), .dtypes(), .distinct() oder .count() darauf führt die Operation innerhalb von HANA aus und liefert nur das Ergebnis zurück, nicht die zugrunde liegenden Zeilen. Ein echtes SAP-Beispiel baut dies in vier Zeilen auf: einen ConnectionContext öffnen, Trainings- und Testpartitionen mit DataSets.load_diabetes_data(connection_context) aus hana_ml.algorithms.pal.utility laden — die Daten wandern dabei nie als vollständige Tabelle in den lokalen Python-Speicher, nur Zusammenfassungen und das schließliche Modellergebnis tun das.

Warum es zählt

  • Die Versionsnummer von hana-ml ist datumscodiert (2.30.26091800, heute auf PyPI geprüft) — diese Bibliothek erscheint weit häufiger als ein jährliches Data-Science-Paket, daher gehören Versions-Pinning und Retest-Rhythmus in den Projektplan, nicht als nachträglicher Gedanke.
  • hana-ml fügt keine eigenen neuen Algorithmen hinzu — es ist eine Python-Eingangstür zu PAL (C343) und APL (C344); ein Berater, der es als eigenständige ML-Bibliothek behandelt, wird das tatsächlich Verfügbare falsch einschätzen.
  • Die Planungsmethoden von ModelStorage (set_schedule/start_schedule/terminate_schedule) bedeuten, dass die Retraining-Orchestrierung im selben Objekt leben kann, das das Modell gespeichert hat — das ändert, wie ein MLOps-Gespräch für ein HANA-basiertes Modell gegenüber einer typischen externen ML-Plattform gescopt werden sollte.

Kernpunkte

  • hana-ml ist SAPs offizielles PyPI-Paket ("hana-ml"), "Python Machine Learning Client for SAP HANA" — heute geprüft in Version 2.30.26091800, eine datumscodierte, nahezu kontinuierlich veröffentlichte Version.
  • Es ist ein Python-Wrapper, keine eigenständige ML-Engine: hana_ml.algorithms.pal verpackt PAL (C343), hana_ml.algorithms.apl verpackt APL (C344); alle Berechnung läuft innerhalb von HANA.
  • Push-Down-Muster: ConnectionContext öffnet die HANA-Verbindung; DataFrame verpackt eine Tabelle/Abfrage, und Operationen wie .head()/.dtypes()/.count() werden innerhalb von HANA ausgeführt.
  • UnifiedClassification/UnifiedRegression (der func-Parameter wählt den zugrunde liegenden Algorithmus) sind die Estimator-artigen Einstiegspunkte; GridSearchCV/RandomSearchCV steuern die Hyperparametersuche.
  • ModelStorage speichert und versioniert ein Modell (save_model, list_models) und kann Retraining direkt planen (set_schedule, start_schedule, terminate_schedule).
  • Installation per einfachem pip install hana-ml; HANA-seitig müssen PAL/APL (die AFL-Komponente) bereits installiert und lizenziert sein.
  • SAPs eigenes Beispiel-Repository (SAP-samples/hana-ml-samples) spiegelt die PAL/APL-Trennung in der eigenen Ordnerstruktur — Python-API/pal- vs. Python-API/apl-Notebooks.

Begriffe auf dieser Seite

ConnectionContext
Klasse aus hana_ml.dataframe, die die Verbindung zu einer SAP-HANA-Instanz öffnet und verwaltet.
DataFrame (hana-ml)
Ein Wrapper um eine HANA-Tabelle oder SQL-Abfrage; Operationen werden innerhalb von HANA ausgeführt (Push-Down), nicht clientseitig.
UnifiedClassification / UnifiedRegression
Estimator-artige Klassen, die mehrere PAL-Algorithmen verpacken, wählbar über einen func-Parameter, mit scikit-learn-artigen fit/predict-Methoden.
ModelStorage
hana_ml-Klasse, die ein in HANA-Tabellen gespeichertes Modell sichert, versioniert, auflistet und für Retraining planen kann.
Push-Down
Das Muster, bei dem Berechnung innerhalb der Datenbank-Engine gegen Daten läuft, die sie nie verlassen, statt zunächst Zeilen zum Client zu ziehen.

Quellen

  1. PyPI — hana-ml package registry entry (name, version 2.30.26091800, summary), fetched 2026-09-25
  2. SAP-samples/hana-ml-samples — DiabetesUnifiedClassificationHGBT.ipynb (ConnectionContext, DataFrame, UnifiedClassification, GridSearchCV, ModelStorage, set_schedule) — GitHub (SAP), fetched 2026-09-25
  3. SAP-samples/hana-ml-samples — Python-API folder structure (pal vs apl notebooks) — GitHub (SAP), fetched 2026-09-25
  4. SAP-samples/hana-ml-samples — README (project scope, PAL/AFL prerequisite) — GitHub (SAP), fetched 2026-09-25

Vollständige Karte für Mitglieder. Was die vollständige Karte ergänzt: den vollständigen Entscheidungsrahmen · die häufigen Fallstricke und ihre Behebung · die Kurzreferenz · die Codeblöcke · die zitierfähigen Kennzahlen.

In der App öffnen →