设置 环境
学习目标
识别 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] 中开发嵌入式机器学习模型。
参考
[2] 面向 SAP HANA 的 Python ML 客户端
[3] SAP HANA Cloud
环境设置和准备
技术前提条件
使用 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)