簡體   English   中英

使用 Python 從 Azure Databricks 連接到外部 MySQL 數據庫

[英]Connecting to external MySQL database from Azure Databricks with Python

我正在嘗試從 Azure Databricks 連接到外部私有 MySQL 數據庫。

我試過 sqlalchemy 和 pymysql:

conn = pymysql.connect(
    host='.....',
    user='.....', 
    password = "....",
    db='....')
cur = conn.cursor()

sqlalchemy:

engine = create_engine("mysql+pymysql://{0}:{1}@hostname:3306/database".format('user','password'))
connection = engine.connect()

錯誤代碼相同: OperationalError: (pymysql.err.OperationalError) (1045, "Access denied for user 'user'@'IP_address' (using password: YES)" [外部數據庫配置為遠程訪問和 IP我們試圖訪問它被列入白名單]

使用 mysql.connector 連接成功。

connection = connect(
  host=dbutils.secrets.get(scope="resource_group", key="key"),
  port=dbutils.secrets.get(scope="resource_group", key="key"),
  user=dbutils.secrets.get(scope="resource_group", key="key"),
  password=dbutils.secrets.get(scope="resource_group", key="key"),
  database="db")
cursor = connection.cursor()

問題是:有誰知道為什么 sqlalchemy 和 pymysql 不起作用? 是否只有某些 python sql 連接器庫可以在 Databricks 中使用,為什么?

有多種方法可以連接到 Spark 中的 MySQL 數據庫。 下圖總結了使用 Python 作為編程語言連接到 MySQL 的一些常用方法。

注意:對於 python 環境 - 建議使用mysql-connector-python庫。

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM