当前位置: 首页 > news >正文

Databricks 入门之连接外部数据库

连接方式应该很多,现在记录本人目前学习到的一种方式。

一、读取外部数据库

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

http://www.lryc.cn/news/217137.html

相关文章:

  • 家庭互动新维度:TikTok的亲子体验
  • redis教程 一 redis中的常用命令
  • 【第28例】IPD体系进阶 | 需求管理:需求实现过程
  • 聊聊我对AI Agents技术的一些看法
  • 32 mysql in 的实现
  • Qt QtCreator添加自定义注释
  • docker 各种命令
  • 【优选算法系列】【专题五位运算】第一节.常见的位运算(面试题 01.01. 判定字符是否唯一和268. 丢失的数字)
  • 学习笔记二十八:K8S控制器Daemonset入门到企业实战应用
  • 您对互联网有多“上瘾”?
  • 数据挖掘题目:设ε= 2倍的格网间距,MinPts = 6, 采用基于1-范数距离的DBSCAN算法对下图中的实心格网点进行聚类,并给出聚类结果(代码解答)
  • STM32HAL-完全解耦面向对象思维的架构-时间轮片法使用(timeslice)
  • C++ 程序员入门需要多久,怎样才能学好?
  • SpringBoot项目打war包部署到tomcat访问路径去掉项目名
  • 58同城面试
  • 【数据结构】归并排序 的递归实现与非递归实现
  • Go的命令行工具开发:使用Cobra库
  • 坚持#第420天~阿里云轻量服务器内存受AliYunDunMonito影响占用解决方法
  • 时间序列聚类的直观方法
  • vue3的reactive源码解析
  • 【ElasticSearch系列-04】ElasticSearch的聚合查询操作
  • Redisson初始
  • 【华为OD题库-018】AI面板识别-Java
  • [概述] 点云滤波器
  • [笔记] 汉字判断
  • Android开发笔记(三)—Activity篇
  • nodejs+vue+python+php在线购票系统的设计与实现-毕业设计
  • 基于Taro + React 实现微信小程序半圆滑块组件、半圆进度条、弧形进度条、半圆滑行轨道(附源码)
  • 城市内涝解决方案:实时监测,提前预警,让城市更安全
  • 编译正点原子LINUXB报错make: arm-linux-gnueabihf-gcc:命令未找到