连接方式应该很多,现在记录本人目前学习到的一种方式。
一、读取外部数据库
1.notebook执行语言为sql时可以通过JDBC方式加载数据库数据。
以下代码将可以将sqlserver中的表加载到databricks视图中,当然也可创建表来接收外部数据。
%sqlCREATE TEMPORARY VIEW view-name
USING JDBC
OPTIONS (url "jdbc:sqlserver://<your-database-url>;database=<your-database-name>,.;Authentication=<your-authentication-type>;",dbtable "<your-table-name>",user '<username>',password '<password>'
)
2.sql方式操作视图直接读取数据库数据
可以直接sql操作上一步的数据来直接读取数据
%sqlselect * from view-name
有时候我们需要在notebook为spark的环境下加载数据,可以通过以下方式操作步骤1中建立的视图来读取数据,将数据加载到Dataframe中。
%pythondata_pd = spark.sql("select * from view-name").toPandas()
二、写数据到外部数据库
1. sql方式写入
待测试更新。。。
2.spark方式写入数据库
可以通过以下方式将dataframe数据写入到数据库,url、user、password参数与上文“一”中读取数据时相同。driver为数据库驱动,比如我使用的是sqlserver,driver为
" com.microsoft.sqlserver.jdbc.SQLServerDriver"
%sparkspark.createDataFrame(data_pd).write \.mode("append") \.format("jdbc") \.option("url", url) \.option("dbtable", dbtable) \.option("user", user) \.option("password", password) \.option("driver", driver) \.save()