メインコンテンツまでスキップ

Databricks を使用した MySQL のクエリ

この例では、JDBC ドライバーを使用して MySQL をクエリします。 読み取り、書き込み、並列処理の設定、クエリのプッシュダウンの詳細については、「 JDBC を使用したデータベースのクエリ」を参照してください。

備考

実験段階

この記事で説明する構成は 試験段階です。 試験的な機能は現状のまま提供され、 Databricks を通じて顧客のテクニカル サポートを通じてサポートされることはありません。 クエリ フェデレーションを完全にサポートするには、代わりに レイクハウスフェデレーションを使用して、 Databricks ユーザーが Unity Catalog 構文ツールとデータガバナンス ツールを利用できるようにする必要があります。

JDBC の使用

Python
driver = "com.mysql.cj.jdbc.Driver"

database_host = "<database-host-url>"
database_port = "3306" # update if you use a non-default port
database_name = "<database-name>"
table = "<table-name>"
user = "<username>"
password = "<password>"

url = f"jdbc:mysql://{database_host}:{database_port}/{database_name}"

remote_table = (spark.read
.format("jdbc")
.option("driver", driver)
.option("url", url)
.option("dbtable", table)
.option("user", user)
.option("password", password)
.load()
)

Databricks Runtime での MySQL コネクタの使用

Databricks Runtime 11.3 LTS 以降を使用すると、名前付きコネクタを使用して MySQL に対してクエリを実行できます。 次の例を参照してください。

Python
remote_table = (spark.read
.format("mysql")
.option("dbtable", "table_name")
.option("host", "database_hostname")
.option("port", "3306") # Optional - will use default port 3306 if not specified.
.option("database", "database_name")
.option("user", "username")
.option("password", "password")
.load()
)