Para criar modelos de previsão de série cronológica usando a biblioteca de análise preditiva (PAL) do SAP HANA a partir do Python, você precisa primeiro configurar seu ambiente Python local com as bibliotecas necessárias e estabelecer uma conexão segura com sua instância do SAP HANA Cloud. A biblioteca hana-ml permite essa integração, permitindo que você acesse dados do SAP HANA e execute algoritmos PAL do SAP HANA diretamente a partir de seu script Python.
Pré-requisitos técnicos
Para usar modelos de série cronológica no SAP HANA, você precisa do seguinte:
- Instância do SAP HANA Cloud com servidor de scripts (ativado para APL, PAL)
- Pacote hana-ml Python 2.24.25051600, outros pacotes e dependências instalados
- Conhecimento básico de Structured Query Language (SQL) (altamente desejável)
Configuração do ambiente
Antes de implementar modelos de série cronológica no SAP HANA, é essencial configurar o ambiente necessário. Isso inclui a instalação das bibliotecas Python necessárias, o estabelecimento de uma conexão com o SAP HANA Cloud e a definição de configurações de autenticação.
As seguintes células carregam/importam diversos módulos necessários para a demonstração atual. Como você pode saber, um módulo pode ser considerado o mesmo que uma biblioteca de códigos.
12import hana_ml
print(hana_ml.__version__)2.24.25051600
123456789101112131415161718#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
Conexão do banco de dados SAP HANA Cloud
Com o cliente de aprendizagem automática Python para SAP HANA (hana-ml), as conexões estão sempre relacionadas a um DataFrame do SAP HANA. Além disso, para o SAP HANA Cloud, precisamos usar uma conexão criptografada.
Os alunos devem ter o endereço do sistema SAP HANA e as credenciais para acessá-lo porque precisam ser fornecidos para instanciar a classe hana_mI.dataframe.ConnectionContext; isso representa uma conexão a uma instância de banco de dados SAP HANA [1].
123456789101112131415hana_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()
Verdadeiro