Невозможно выполнить хранимую процедуру Oracle в режиме кластера Spark - PullRequest
0 голосов
/ 16 февраля 2019

Я использую pyspark. В моей программе я создаю фрейм данных и вставляю данные в Oracle DB. Но не могу вызвать хранимую процедуру Oracle из pyspark, поэтому я написал функцию python для вызова хранимой процедуры с использованием cx_Oracle. Ниже приведен код

Код:

import cx_Oracle  
import datetime  

def oracle_sp_Call(id,status):  
     print('Inside func of sp calling')  
     print(id)  
     print(status)  
     dns_tns=cx_Oracle.makedsn('server','port',service_name='servie_name')  
     con=cx_Oracle.onnect(user='username',passwor='password',dsn=dns_tns)  
     #Placing my sername user id pwd an deatils  
     print('connection established')  
     cur=con.cursor()  
     myvar=cur.var(cx_Oracle.NUMBER)  
     curdate=datetime.datetime.now()  
     cur.callproc('Sp_Name',(id,status,curdate,myvar))  
     con.commit()  
     cur.close()  
     con.close()  

Моя проблема в том, что когда я отправляю свою работу pyspark в режиме клиента, она выполняется нормально, но когда я отправляю в режиме кластера, он не может подключиться к серверу оракула.
Ошибка «ошибка при попытке получить текст для ошибки ora-24296» .Я использую дистрибутив MapR и установил клиент Oracle на всех узлах, а также могу выполнять одинаковые задания в режиме клиента всех узлов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...