Вызов хранимой процедуры SQL Server в SparkPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Вызов хранимой процедуры SQL Server в Spark

Сообщение Anonymous »

У меня есть хранимая процедура, которую я пытаюсь запустить через Spark. Причина хранения ее как хранимой процедуры заключается в том, что база данных содержит таблицу, которую необходимо обновить. В таблице хранится время последнего выполнения хранимой процедуры.
Я попробовал два следующих способа:
Метод 1:

Код: Выделить всё

from pyspark.sql import SparkSession
from createconnection import sql_connection
from datetime import datetime
import os
import sys
def getdata():
url, uname, pwd = sql_connection()
spark = SparkSession.builder.appName("MyApp").getOrCreate()
try:
jdbcDF = spark.read \
.format("jdbc") \
.option("url", url) \
.option("driver", "com.microsoft.sqlserver.jdbc.SQLServerDriver") \
.option("prepareQuery",'EXEC dbo.GetUserDetails') \
.option("query", 'SELECT * FROM @ResultTable') \
.option("user", uname) \
.option("password", pwd) \
.load()
jdbcDF.show()
# Flush the output to ensure it is sent immediately
sys.stdout.flush()
spark.stop()
except ValueError as error:
print("Connector write failed", error)

if __name__ == '__main__':
getdata()
В методе 2 я попробовал .option('query','EXEC dbo.GetUserDetails'), метод 3: я попробовал поместить полная хранимая процедура SQL внутри .option('prepareQuery',sql_stored_procedure_code) \ .option('query','SELECT * FROM @SP_RESULT'). Но, похоже, ничего не работает. Есть ли способ вызвать хранимые процедуры внутри искры?
Я хочу знать, можно ли вообще выполнить хранимую процедуру через искру или ее нужно разбить на несколько операторов sql внутри сценария искры и как это сделать.

Любая помощь или рекомендации приветствуются для решения этой проблемы.

Подробнее здесь: https://stackoverflow.com/questions/763 ... e-in-spark
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»