Aller au contenu principal

Query MySQL avec Databricks

Cet exemple interroge MySQL en utilisant son Driver JDBC. Pour plus de détails sur la lecture, l’écriture, la configuration du parallélisme et le pushdown de query, consultez Interroger des bases de données à l’aide de JDBC.

info

Expérimental

La documentation sur la fédération des query héritées a été retirée et pourrait ne pas être mise à jour. Les configurations mentionnées dans ce contenu ne sont pas officiellement approuvées ou testées par Databricks. Si la Lakehouse Federation prend en charge votre base de données source, Databricks recommande d'utiliser cette dernière.

Utilisation de 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()
)

Utilisation du connecteur MySQL dans Databricks Runtime

À l’aide de Databricks Runtime 11.3 LTS et versions ultérieures, vous pouvez utiliser le connecteur nommé pour query MySQL. Voir les exemples suivants.

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()
)