设置 环境

学习目标

  • 识别 Python ML 客户端的两个主要组件。

面向 SAP HANA 的 Python ML 客户端是什么?

面向 SAP HANA 的 Python 机器学习客户端 (hana-ml) 是一个 Python 包,支持数据科学家访问 SAP HANA 数据。实践者可以直接在 SAP HANA [2] 中使用数据构建机器学习模型。

面向 SAP HANA 的 Python 机器学习客户端包含两个主要组件:

  • SAP HANA DataFrame,提供一组在 SAP HANA 中访问和查询数据的方法,而无需将数据引入客户端。

  • 一组用于开发机器学习模型的机器学习 API。

机器学习 API 由两个包组成:

PAL 包

PAL 包由一组 Python 算法和函数组成,用于访问 SAP HANA 预测分析库 (PAL) 中的机器学习功能。SAP HANA PAL 函数涵盖用于训练模型的各种机器学习算法,然后将经过训练的模型用于评分。

APL 包

Automated Predictive Library (APL) 包通过一组函数显示 SAP HANA 中自动分析引擎的数据挖掘功能。这些功能开发了一个预测建模流程,分析人员可以使用该流程回答有关存储在 SAP HANA 中的客户数据集的简单问题。

HANA-ML 使用 SAP HANA Python 驱动程序 (hdbcli) 连接和访问 SAP HANA。有关详细信息,请参阅 [2]。

什么是 SAP HANA Cloud?

SAP HANA Cloud 是一款多模式数据库管理系统,支持未来的架构师大规模构建和部署下一代智能数据应用 [3]。

SAP HANA 支持全面的机器学习环境。在服务器端,它提供嵌入式机器学习库以及用于集成通用机器学习工具的功能。在客户端上,其机器学习 API 可用于直接在 SAP HANA [4] 中开发嵌入式机器学习模型。

参考

[1] California Housing 数据集

[2] 面向 SAP HANA 的 Python ML 客户端

[3] SAP HANA Cloud

[4]SAP HANA 机器学习概览

环境设置和准备

技术前提条件

  • 使用 ScriptServer 的 SAP HANA Cloud 实例(APL,已启用 PAL)

  • Python hana-ml 包 2.21.24062800,并安装其他包和依赖项

用于 SAP HANA 的 Python 包

以下单元格加载导入不同的模块。如您所知,模块可视为与代码库相同。

#import hana database client for Python
from hdbcli import dbapi

#import hana-ml package
import hana_ml
print (hana_ml.__version__)

输出:

**2.20.24042601**

#importing other packages used
import pandas as pd
import matplotlib.pyplot as plt
import time
import numpy as np
import os

SAP HANA Cloud 数据库连接

使用面向 SAP HANA 的 Python 机器学习客户端 (hana-ml),连接始终与 SAP HANA DataFrame 相关。此外,对于 SAP HANA Cloud,需要加密连接。

学员应具有 SAP HANA 系统地址以及访问它的凭据,因为需要提供这些地址来实例化类 hana_ml.dataframe.ConnectionContext;它表示与 SAP HANA 数据库实例 [1] 的连接。

from hana_ml import dataframe

address = "b8xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.hana.prod-eu10.hanacloud.ondemand.com"
port = 443
user = 'XX_XXXX'

conn = dataframe.ConnectionContext(address, port, user, encrypt=True, sslValidateCertificate=False)

参考

[1] SAP 类 hana_ml.dataframe.ConnectionContext