Azure Databricks ile MySQL sorgulama
Bu örnek, JDBC sürücüsünü kullanarak MySQL'i sorgular. Paralelliği okuma, yazma, yapılandırma ve sorgu gönderme hakkında daha fazla bilgi için bkz . JDBC kullanarak veritabanlarını sorgulama.
Önemli
Bu makalede açıklanan yapılandırmalar Deneysel'tir. Deneysel özellikler olduğu gibi sağlanır ve Databricks tarafından müşteri teknik desteği aracılığıyla desteklenmez. Tam sorgu federasyon desteği get için bunun yerine Azure Databricks kullanıcılarınızın Unity Catalog söz dizimi ve veri idaresi araçlarından yararlanmasını sağlayan Lakehouse Federationkullanmalısınız.
JDBC kullanma
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()
)
Scala
val driver = "com.mysql.cj.jdbc.Driver"
val database_host = "<database-host-url>"
val database_port = "3306" # update if you use a non-default port
val database_name = "<database-name>"
val table = "<table-name>"
val user = "<username>"
val password = "<password>"
val url = s"jdbc:mysql://${database_host}:${database_port}/${database_name}"
val remote_table = spark.read
.format("jdbc")
.option("driver", driver)
.option("url", url)
.option("dbtable", table)
.option("user", user)
.option("password", password)
.load()
Databricks Runtime'da MySQL bağlayıcısını kullanma
Databricks Runtime 11.3 LTS ve üzerini kullanarak MySQL'i sorgulamak için adlandırılmış bağlayıcıyı kullanabilirsiniz. Aşağıdaki örneklere bakın:
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()
)
SQL
DROP TABLE IF EXISTS mysql_table;
CREATE TABLE mysql_table
USING mysql
OPTIONS (
dbtable '<table-name>',
host '<database-host-url>',
port '3306', /* Optional - will use default port 3306 if not specified. */
database '<database-name>',
user '<username>',
password '<password>'
);
SELECT * from mysql_table;
Scala
val 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()