В этой статье я свяжу два разных облачных сервиса Oracle. Я надеюсь, что это будет полезная статья с точки зрения осведомленности.
Как известно, Oracle недавно анонсировала облачную службу Data Science. Этот сервис представляет собой облачный сервис с функциями, которые ускорят работу специалистов, занимающихся наукой данных, искусственным интеллектом, машинным обучением. Вы можете прочитать подробную информацию об этой услуге, нажав на ссылку .
Облако Data Science Cloud — это платформа с интерфейсом Jupyter Notebook. При разработке модели в этом интерфейсе у нас есть широкий выбор опций для чтения данных, которые станут предметом нашего развития. В этом исследовании я буду использовать службу автономного хранилища данных (ADW), которая также является облачной службой. Я подключусь к ADW через сервис Data Science Cloud и прочитаю данные из таблиц здесь.
Вам также может понравиться: Подключение автономного хранилища данных с Python
Прежде всего нам нужен клиент Oracle для подключения к службе Oracle ADW. Введя следующую команду на экране терминала, который мы настроили выше, мы можем получить этот клиент для загрузки на компьютере Oracle Data Science Cloud Service.
Оболочка
1
wget https://download.oracle.com/otn_software/linux/instantclient/195000/instantclient-basic-linux.x64-19.5.0.0.0dbru.zip
Да, после запуска нашей команды мы можем заметить, что соответствующий клиент был загружен в ближайшее время. Однако загруженный нами файл является файлом .zip, поэтому мы открываем этот сжатый файл, выполнив команду ниже на экране терминала.
Оболочка
xxxxxxxxxx
1
unzip instantclient-basic-linux.x64-19.5.0.0.0dbru.zip
We opened our client (you can see that the instantclient_19_5 folder has occurred in the directory) and now let’s upload the wallet, which we will connect to ADW and download by the ADW service, to our Oracle Data Science service. We can easily upload via the buttons on the screen.
After loading our ADW Wallet to the environment, we will move the wallet into the client we opened in the service with the following 2 commands and extract it from the zip file.
xxxxxxxxxx
mv Wallet_DBML19C.zip instantclient_19_5/network/admin/
cd instantclient_19_5/network/admin/
unzip Wallet_DBML19C.zip
Finally, we need to update the wallet path in the sqlnet.ora file in the wallet we extracted. (sqlnet.ora -> instantclient_19_5 / network / admin / sqlnet.ora)
Let's first look at the content of sqlnet.ora.
xxxxxxxxxx
more sqlnet.ora
Open this file. We need to change the part of the “?” character where we open our wallet with the full path and save and close it. We can do this change with vi as well as through the interface. As a result, our sqlnet.ora file should be as follows.
We have now provided all the necessary conditions to connect through the notebook. Now, let's start a new notebook from the interface and try to reach ADW with Python code.
xxxxxxxxxx
import sqlalchemy as db
import pandas as pd
import numpy as np
import os
import warnings as w
w.filterwarnings("ignore",category=Warning)
os.environ['TNS_ADMIN']='instantclient_19_5/network/admin/'
engine = db.create_engine('oracle://ADMIN:Welcome1@dbml19c_high')
f = pd.read_sql("select * from dba_tables", con=engine)
f.head(5)
As you can see, we were able to read a sample data in our ADW Cloud Service and put it in a data frame from a notebook we started in Data Science Cloud Service.