gpt4 book ai didi

python - Databricks/ADF python 帮助

转载 作者:太空宇宙 更新时间:2023-11-03 15:34:43 25 4
gpt4 key购买 nike

需要从 Azure databricks 执行 python 脚本的帮助。Ask是使用python脚本连接到数据库并从表中读取数据并用表中的内容触发电子邮件。

这是我的示例脚本。它在我的本地工作正常,但我不确定如何使其在 Databricks 或数据工厂上工作。

import pyodbc
import settings
import sendgrid
import time
from sendgrid.helpers.mail import *

username = settings.username
password = settings.password
server = settings.server
database = settings.database
driver= '{SQL Server}'
connection_string = 'DRIVER={driver};PORT=1433;SERVER={server};DATABASE=
{database};
UID={username};
PWD={password}'.format(driver=driver, server=server,
database=database, username=username, password=password)
cnxn = pyodbc.connect(connection_string)

cursor= cnxn.cursor()
cursor.execute("Select Job_status as Status, COUNT(*) AS
count FROM demo_table group by Job_status")
arr=[]
while 1:
row = cursor.fetchone()
if not row:
break
print(row.Status, row.count)
arr.append(row.Status+" "+str(row.count))
Status = arr[0] , arr[1]
cnxn.close()

sg = sendgrid.SendGridAPIClient(apikey='***********************')
from_email = Email("********************")
to_email = Email("****************************")
subject = "Job Monitoring | Job Failures"
content = Content("text/html", value = 'Hi,Provided are the details of the
jobs.' +str(Status[0])+''+str(Status[1]) +'Regards,Team')
mail = Mail(from_email, subject, to_email, content)
response = sg.client.mail.send.post(request_body=mail.get())"

作业完成后,理想情况下应该从表中读取数据,然后触发包含作业详细信息的电子邮件。

请帮忙!

最佳答案

我发现您的代码中需要两个第三方 Python 库,因此您首先需要将它们安装在 Azure Databricks 中,如下所示。

  1. 安装sendgrid包比较简单,如下图。

    图 1.1。单击 Azure 门户中的启动工作区按钮并登录。 enter image description here

    图 1.2。移至Clusters 选项卡和Create Cluster,然后单击集群的Libraries 链接 enter image description here

    图 1.3。单击Install New按钮,选择PyPI库源,输入包名sendgrid进行Install enter image description here

    图 1.4。 sendgrid 包立即安装完毕 enter image description here

  2. 关注博客 Executing SQL Server Stored Procedures from Databricks (PySpark)安装 pyodbc 包及其所需的 linux 包,如下所示。

    图 2.1。创建一个新笔记本 install_pyodbc 以便下次安装 enter image description here

    图 2.2。检查Linux发行版本并按照博客安装这些软件包 enter image description here

    图 2.3。尝试通过pyodbc连接并查询数据库,它有效 enter image description here

    import pyodbc
    connection_string = "Driver={ODBC Driver 17 for SQL Server};Server=tcp:<your db name>.database.windows.net,1433;Database=<db name>;Uid=<username>@<dbinstance name>;Pwd=<password>;Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30;"
    cnxn = pyodbc.connect(connection_string)
    cursor= cnxn.cursor()
    cursor.execute("select * from table")
    row = cursor.fetchone()
    if row:
    print(row)

然后,您可以创建一个新笔记本来运行您的代码。而与Azure Data Factory集成请引用官方文档Transform data by running a Python activity in Azure Databricks知道该怎么做。

关于python - Databricks/ADF python 帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55584515/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com