配置面向 SAP HANA 的 Python 机器学习客户端

学习目标

  • 安装 hana-ml 包并为机器学习任务建立与 SAP HANA Cloud 的可靠连接上下文。

要使用 Python 中的 SAP HANA 预测分析库 (PAL) 构建时间序列预测模型,首先需要使用必要的库设置本地 Python 环境,并与 SAP HANA Cloud 实例建立安全连接。hana-ml 库通过允许您访问 SAP HANA 数据并直接从 Python 脚本运行 SAP HANA PAL 算法来启用此集成。

技术前提

要在 SAP HANA 中使用时间序列模型,您需要以下内容:

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

  • Python hana-ml 包 2.24.25051600,已安装其他包和依赖项

  • 基本结构化查询语言 (SQL) 知识(高度需要)

设置 环境

在 SAP HANA 中实施时间序列模型之前,设置所需环境至关重要。这包括安装必要的 Python 库、建立与 SAP HANA Cloud 的连接以及配置验证设置。

以下单元格加载/导入当前演示所需的各种模块。如您所知,模块可视为与代码库相同。

import hana_ml
print(hana_ml.__version__)

2.24.25051600

#importing other packages used
import pandas as pd
import matplotlib.pyplot as plt
import time
import numpy as np
import os
import json
from dotenv import load_dotenv
load_dotenv()

from hana_ml import dataframe
from hana_ml.visualizers.unified_report import UnifiedReport
from hana_ml.algorithms.pal.tsa.additive_model_forecast import AdditiveModelForecast
from hana_ml.algorithms.pal.random import binomial
from hana_ml.algorithms.pal.partition import train_test_val_split

%matplotlib inline

SAP HANA Cloud 数据库连接

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

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

hana_address = os.getenv('hana_address', "<your_hana_address>")
hana_port = int(os.getenv('hana_port', 443))
hana_user = os.getenv('hana_user', "<your_hana_user>")
hana_password = os.getenv('hana_password', "<your_hana_password>")
hana_encrypt = os.getenv('hana_encrypt', 'True').lower() == 'true'
hana_schema = os.getenv('HANA_SCHEMA', 'My_Schema')

conn = dataframe.ConnectionContext(address=hana_address,
port=hana_port,
user=hana_user,
password=hana_password,
encrypt=True, sslValidateCertificate=False,
current_schema=hana_schema)
conn.connection.isconnected()

正确

参考

[1]SAP 类 hana_ml.dataframe.ConnectionContext