我正在尝试通过 Azure Databricks 笔记本运行 postgreSQL 存储过程。
我们在 Azure Database for PostgreSQL 中编写了存储过程,并希望通过 Azure Databricks Notebook(使用 Pyspark/SQL)运行 postgreSQL 存储过程。
第1步:安装所需的库
步骤 2:使用 ODBC 连接 Azure Database for PostgreSQL
import pyodbc
conn = pyodbc.connect( 'DRIVER=*{ODBC Driver 17 for SQL Server}*;' 'SERVER=mydatabe.database.azure.net;' 'DATABASE=AdventureWorks;UID=jonnyFast;' 'PWD=MyPassword')
第3步:在Databricks中执行存储过程
{ODBC Driver 17 for SQL Server} - 您知道如何在 Databricks 集群上安装“ODBC Driver 17 for PostgreSQL”吗?
根据this,连接PostgreSQL数据库有两种方法:
您可以使用下面的代码从 PostgreSQL 数据库调用存储过程:
import psycopg2
# Replace with your database configuration
config = {
"dbname": "<dbname>",
"user": "<userName>",
"password": "<password>",
"host": "<host>"
}
conn = psycopg2.connect(**config)
cur = conn.cursor()
cur.execute("CALL insert_students('FF', 33);")
cur.execute('SELECT * FROM students')
data = cur.fetchall()
for i in data:
print(i)
通过调用存储过程,数据将成功插入到表中,如下图:
更多信息可以参考这个。