Analytics Legends La plateforme de connaissance SAP Analytics
Fiche concept

hana-ml — le machine learning en Python à l'intérieur de SAP HANA Cloud

hana-ml — le machine learning en Python à l'intérieur de SAP HANA Cloud — illustration de section Analytics Legends pour la base de connaissances SAP Analytics (concepts, études, Academy)

À jour au 2026-09-25

Qu'est-ce que hana-ml ?

hana-ml est le paquet PyPI officiel de SAP (« hana-ml », vérifié aujourd'hui : version 2.30.26091800) qui enveloppe les procédures in-database de PAL et APL derrière une API Python de type estimateur — ConnectionContext, DataFrame, UnifiedClassification/Regression, GridSearchCV, et ModelStorage, qui peut même planifier le réentraînement. Les données ne quittent jamais HANA ; le même choix entre réglage manuel façon PAL et automatisation façon APL se retrouve dans le sous-module que vous importez.

Ce qu'est réellement hana-ml

hana-ml est la bibliothèque Python officielle de SAP pour le machine learning avec SAP HANA. L'entrée du registre PyPI, vérifiée directement aujourd'hui, est sans ambiguïté : nom de paquet hana-ml, résumé « Python Machine Learning Client for SAP HANA », page d'accueil sap.com, version actuelle 2.30.26091800 — un numéro de version encodé par date pointant vers une build du 18 septembre 2026, ce qui est en soi un fait utile : cette bibliothèque suit un rythme de publication quasi continu, pas annuel, donc épingler une version dans le fichier de dépendances d'un client compte plus que pour un package data science stable classique.

Mécaniquement, hana-ml est un wrapper Python autour des mêmes procédures AFL que PAL (C343) et APL (C344) exposent en SQL. Il n'implémente pas le machine learning en Python ; il génère et exécute les mêmes appels in-database, puis renvoie les résultats. C'est tout l'objectif de conception : un data scientist obtient une API familière, façonnée comme scikit-learn, tandis que tout calcul réel s'exécute encore à l'intérieur de HANA, sur des tables qui ne quittent jamais la base.

Pourquoi c'est important

  • Le numéro de version de hana-ml est encodé par date (2.30.26091800, vérifié aujourd'hui sur PyPI) — cette bibliothèque est publiée bien plus souvent qu'un package data science annuel, donc l'épinglage de version et le rythme de retest doivent figurer dans le plan projet, pas être une réflexion après coup.
  • hana-ml n'ajoute pas ses propres nouveaux algorithmes — c'est une porte d'entrée Python vers PAL (C343) et APL (C344) ; un consultant qui le traite comme une bibliothèque ML séparée sous-estimera ce qui est réellement disponible.
  • Les méthodes de planification de ModelStorage (set_schedule/start_schedule/terminate_schedule) signifient que l'orchestration du réentraînement peut vivre dans le même objet qui a sauvegardé le modèle, ce qui change la façon de cadrer une conversation MLOps pour un modèle basé sur HANA par rapport à une plateforme ML externe classique.

Points clés

  • hana-ml est le paquet PyPI officiel de SAP (« hana-ml »), « Python Machine Learning Client for SAP HANA » — vérifié aujourd'hui en version 2.30.26091800, une version encodée par date et publiée quasi en continu.
  • C'est un wrapper Python, pas un moteur ML séparé : hana_ml.algorithms.pal enveloppe PAL (C343), hana_ml.algorithms.apl enveloppe APL (C344) ; tout le calcul s'exécute à l'intérieur de HANA.
  • Schéma de push-down : ConnectionContext ouvre la connexion HANA ; DataFrame enveloppe une table/requête, et des opérations comme .head()/.dtypes()/.count() s'exécutent à l'intérieur de HANA.
  • UnifiedClassification/UnifiedRegression (le paramètre func sélectionne l'algorithme sous-jacent) sont les points d'entrée de type estimateur ; GridSearchCV/RandomSearchCV pilotent la recherche d'hyperparamètres.
  • ModelStorage sauvegarde et versionne un modèle (save_model, list_models) et peut planifier directement le réentraînement (set_schedule, start_schedule, terminate_schedule).
  • Installation via pip install hana-ml classique ; côté HANA, il faut PAL/APL (le composant AFL) déjà installé et sous licence.
  • Le propre dépôt d'exemples de SAP (SAP-samples/hana-ml-samples) reflète la scission PAL/APL dans sa propre structure de dossiers — notebooks Python-API/pal vs Python-API/apl.

Termes employés sur cette page

ConnectionContext
Classe de hana_ml.dataframe qui ouvre et gère la connexion à une instance SAP HANA.
DataFrame (hana-ml)
Un wrapper autour d'une table HANA ou d'une requête SQL ; les opérations s'exécutent à l'intérieur de HANA (push-down), pas côté client.
UnifiedClassification / UnifiedRegression
Classes de type estimateur enveloppant plusieurs algorithmes PAL, sélectionnés via un paramètre func, avec des méthodes fit/predict façon scikit-learn.
ModelStorage
Classe hana_ml qui sauvegarde, versionne, liste et peut planifier le réentraînement d'un modèle stocké dans des tables HANA.
Push-down
Le schéma où le calcul s'exécute à l'intérieur du moteur de base de données sur des données qui ne le quittent jamais, plutôt que d'extraire d'abord les lignes vers le client.

Sources

  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

Fiche complète réservée aux abonnés. Ce que la fiche complète ajoute : le cadre de décision complet · les pièges courants et leur correctif · l'aide-mémoire · les blocs de code · les chiffres à citer.

Ouvrir dans l'application →