- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
需要从 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 中,如下所示。
安装sendgrid
包比较简单,如下图。
图 1.1。单击 Azure 门户中的启动工作区
按钮并登录。
图 1.2。移至Clusters
选项卡和Create Cluster
,然后单击集群的Libraries
链接
关注博客 Executing SQL Server Stored Procedures from Databricks (PySpark)
安装 pyodbc 包及其所需的 linux 包,如下所示。
图 2.1。创建一个新笔记本 install_pyodbc
以便下次安装
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/
我已经开始阅读 Databricks 推出的 Unity Catalog。我了解它试图解决的基本问题,但我不了解目录到底是什么。 这在 Databricks 文档中可用, A catalog cont
我正在努力了解 Databricks。 我发现文档逐步从 S3 或 Azure Datalake 导入数据,然后输出到 Azure Synapse Analytics 或其他数据仓库解决方案。 快速播
我想以编程方式将(Python Wheel)库添加到 /Shared Databricks 上的工作区。在 GUI(工作区 > 导入 > 库)中很容易做到,但我无法弄清楚如何在 Databricks
我正在创建一个带有公司 Logo 的 databricks 笔记本模板。使用以下代码显示图像会引发错误。 代码: %md 错误: HTTP ERROR 403: Invalid or missing
我将使用这张图片来形象化我的问题: Databricks1 在 Databricks 中创建数据库(和表)并将其数据存储在存储帐户中。在Databricks2中我想读取数据:Databricks2只有
有没有办法通过 python 笔记本确定现有的 Azure Databricks Secret Scope 是否由 Key Vault 或 Databricks 支持? dbutils.secrets
我正在尝试连接到 Databricks 上的 Spark 集群,并且正在学习本教程:https://docs.databricks.com/dev-tools/dbt.html .我安装了 dbt-d
我们可以使用Autoloader跟踪是否已从 S3 存储桶加载的文件。我关于 Autoloader 的问题:有没有办法读取 Autoloader 数据库以获取已加载文件的列表? 我可以在 AWS Gl
我们可以使用一些帮助来了解如何将 Spark Driver 和 worker 日志发送到 Azure Databricks 之外的目的地,例如Azure Blob 存储或使用 Eleastic-bea
将我的 Azure Databricks 从标准升级到主要,尝试开始使用 Databricks Delta: create table t using delta as select * from t
现在,databricks 自动加载器需要一个目录路径,从中加载所有文件。但是,如果其他类型的日志文件也开始进入该目录 - 有没有办法让 Autoloader 在准备数据帧时排除这些文件? df =
有人可以让我知道如何使用 databricks dbutils 从文件夹中删除所有文件。 我尝试了以下但不幸的是,Databricks 不支持通配符。 dbutils.fs.rm('adl://azu
我是 azure 的新手和databricks ,我学会了如何安装 blob 和利用,但我有一些疑问,而且我还没有找到任何文档的任何答案。所以请帮我解释一下: dbutils.fs.mount(
尝试遍历已安装的 Databricks 卷中的目录时遇到 ClassCastException。 java.lang.ClassCastException: com.databricks.backen
尝试遍历已安装的 Databricks 卷中的目录时遇到 ClassCastException。 java.lang.ClassCastException: com.databricks.backen
我正在运行 Databricks Community Edition,我想从以下 mnt 目录中删除文件 /mnt/driver-daemon/jars 我运行 dbutils 命令: dbutils
我已经在我的机器上创建了“.netrc”文件并尝试在 databricks rest api 调用下面。但它总是给出未经授权的错误。如何在 Databricks 中创建 .netrc 文件? curl
没有意识到 shift+enter 运行一个单元格。我正在写一个 delete from table 并按下 shift enter 删除了表中的所有数据。 最佳答案 在 Delta Lake 表中,
我需要访问 Azure Files来自 Azure Databricks .根据文档 Azure Blobs受支持,但我需要此代码来处理 Azure 文件: dbutils.fs.mount( s
我正在尝试使用服务主体从 Databricks 连接到 Synapse。 我已经在集群配置中配置了服务主体 fs.azure.account.auth.type..dfs.core.windows.n
我是一名优秀的程序员,十分优秀!