Conecte-se ao Oracle ATP através do Jupyter Notebook

Você conhece o Jupyter Notebook? O Jupyter Notebook é um aplicativo web de código aberto que permite criar e compartilhar documentos que contêm códigos, equações, visualizações e texto narrativo. Você pode usá-lo para limpeza e transformação de dados, simulação numérica, modelagem estatística, visualização de dados, machine learning e muito mais.

Eu gosto de usar o Jupyter Notebook para meus projetos de machine learning porque é uma ferramenta muito útil. Em um dos meus projetos eu precisei me conectar ao Oracle Autonomous Transaction Processing (ATP) Database para visualização de dados e foi ótimo!

Neste artigo, vamos nos conectar a uma instância do Oracle Autonomous Transaction Processing Database através do Jupyter Notebook.

Você pode baixar o notebook aqui: https://github.com/waslleysouza/oracle_autonomous_jupyter/blob/master/atp_connection.ipynb.

Para criar uma nova instância do Oracle Autonomous Transaction Processing Database, leia este artigo: Criando um Oracle Autonomous Transaction Processing (ATP) Database.

Para acessar uma instância do Oracle Compute (Oracle Linux 7), abra um emulador de terminal e configure uma nova sessão SSH para acessá-lo.

  • Remote host: O endereço de IP público
  • Username = opc
  • Port = 22
  • Private key = A chave privada (por exemplo, o arquivo id_rsa)

Atualize os pacotes do sistema operacional.

$ sudo yum update -y

Instale a biblioteca do Oracle Instant Client.

$ sudo yum install oracle-instantclient18.3-basic.x86_64 -y

Adicione o Instant Client ao runtime link path.

$ sudo sh -c "echo /usr/lib/oracle/18.3/client64/lib > /etc/ld.so.conf.d/oracle-instantclient.conf"

$ sudo ldconfig

No computador local, faça o download do Client Credentials (Wallet) da instância do Oracle ATP Database, descompacte-a e, em seguida, copie-a para a instância do Oracle Compute.

Execute o seguinte comando para alterar o local do Client Credentials dentro do arquivo sqlnet.ora.

  • <tns_path>: O local da pasta Client Credentials
  • <tns_folder>: O nome da pasta do Client Credentials
$ sed -i 's+?/network/admin+<tns_path>+g' <tns_folder>/sqlnet.ora

Inicie o Jupyter Notebook e crie um novo notebook.
Primeiro, instale as bibliotecas python necessárias.

# Install required libraries
!pip install sqlalchemy pandas numpy cx_oracle matplotlib

Importe as bibliotecas python necessárias.

# Import required libraries
from sqlalchemy import create_engine
import pandas as pd
import numpy as np
import os
import matplotlib.pyplot as plt

Crie uma nova conexão com o Oracle ATP Database.

  • <tns_path>: O local da pasta Client Credentials
  • <user>: O nome de algum usuário criado (por exemplo, admin)
  • <pass>: A senha do usuário (por exemplo, WElcome_#123)
  • <tns_name>: O TNS name (por exemplo, myatp_high)
# Create a new Oracle ATP or ADW connection
os.environ['TNS_ADMIN'] = '<tns_path>'
engine = create_engine('oracle://<user>:<pass>@<tns_name>')

No computador local, faça o download do arquivo iris.csv (aqui) e copie-o para a instância do Oracle Compute. Crie uma nova tabela no banco de dados usando o arquivo.

# Create a new table using the Iris dataset
df = pd.read_csv('iris.csv')
df.to_sql('iris', engine, index=False, if_exists='replace')

Recupere os dados da nova tabela.

# Retrieve data from the new table
df = pd.read_sql("select * from iris", con=engine)
df.shape

Agora você pode explorar os dados.

# Explore the data
df.head(5)

Explore os dados usando o Matplotlib.

# Explore the data using Matplotlib 
df.groupby('species')
plt.scatter(df.sepal_length, df.sepal_width)

Bom trabalho!
Neste artigo, você aprendeu como se conectar a uma instância do Oracle Autonomous Transaction Processing Database através do Jupyter Notebook.

Divirta-se!

Autor: Waslley Souza

Consultor Oracle com foco em tecnologias Oracle Fusion Middleware e SOA. Certificado Oracle WebCenter Portal, Oracle ADF e Java.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *