azure databricks 常用的JDBC连接

做个笔记常用的spark-jdbc连接
1、mysql 的连接

def query_mysql(database,sqlstr):jdbcUsername=''jdbcHostname = " "jdbcDatabase = ""jdbcPort = 3306mysql_df = spark.read \.format("jdbc") \.option("driver","com.mysql.cj.jdbc.Driver") \.option("url","jdbc:mysql://{0}:{1}/{2}?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true".format(jdbcHostname, jdbcPort, jdbcDatabase)) \.option("dbtable", sqlstr) \.option("user", jdbcUsername) \.option("password", jdbcPassword) \.load()return mysql_dfdef save__mysql(jdbcDF,database,action_text):jdbcUsername=''jdbcHostname = " "jdbcDatabase = ""jdbcPort = 3306jdbcDF.write \.format("jdbc") \.option("driver","com.mysql.cj.jdbc.Driver") \.option("url","jdbc:mysql://{0}:{1}/{2}?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai".format(jdbcHostname, jdbcPort, jdbcDatabase)) \.option("dbtable", action_text) \.option("user", jdbcUsername) \.option("password", jdbcPassword) \.save()

2、oracle 的连接

def query_oracle(database,sql_str):user = ""pwd = ""jdbcHostname=""jdbcDatabase =""empDF = spark.read \.format("jdbc") \.option("url", "jdbc:oracle:thin:@//{0}:1521/{1}".format(jdbcHostname,jdbcDatabase) )\.option("dbtable", sql_str) \.option("user", user) \.option("password", pwd) \.option("driver", "oracle.jdbc.driver.OracleDriver") \.option("numpartitions",5)\.option("fetchsize",2000)\.load()return empDF

3、sqlservice的连接

def query_sqlservice(jdbcdatabase,sql_str):user = ""pwd = ""jdbcHostname=""jdbcDatabase =""empDF = spark.read \.format("com.microsoft.sqlserver.jdbc.spark") \.option("url", "jdbc:sqlserver://{0}:1433;database={1}".format(jdbcHostname,jdbcDatabase)) \.option("dbtable", sql_str) \.option("user", user) \.option("password", pwd) \.option("numPartitions",5)\.option("fetchsize",2000)\.load().cache()return empDF

4、posgresq的连接

def query_postgresql (database,sql_str):jdbcUsername = ''jdbcPassword = ''empDF = spark.read \.format("jdbc") \.option("driver", "org.postgresql.Driver") \.option("url","jdbc:postgresql://{0}:1433/{1}".format(jdbcHostname,jdbcDatabase)) \.option("dbtable", action_text) \.option("user", jdbcUsername) \.option("password", jdbcPassword) \.option("numpartitions",5)\.option("fetchsize",3000)\.load()return empDF 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/756250.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面试题:linux的常用命令!!!

面试题:你使用过哪些linux命令??? 答案: 1、top(动态视图显示进程信息) top -p pid2、ps (查看静态进程更为详细的信息)、 ps -aux 3、jps(用于显示正在运行…

【源码阅读】EVMⅢ

参考[link](https://blog.csdn.net/weixin_43563956/article/details/127725385 大致流程如下: 编写合约 > 生成abi > 解析abi得出指令集 > 指令通过opcode来映射成操作码集 > 生成一个operation 以太坊虚拟机的工作流程: 由solidity语言编…

鸿蒙实战开发:【FaultLoggerd组件】讲解

简介 Faultloggerd部件是OpenHarmony中C/C运行时崩溃临时日志的生成及管理模块。面向基于 Rust 开发的部件,Faultloggerd 提供了Rust Panic故障日志生成能力。系统开发者可以在预设的路径下找到故障日志,定位相关问题。 架构 Native InnerKits 接口 Si…

Linux操作系统——多线程

1.线程特性 1.1线程优点 创建一个新线程的代价要比创建一个新进程小得多与进程之间的切换相比,线程之间的切换需要操作系统做的工作要少很多线程占用的资源要比进程少很多能充分利用多处理器的可并行数量在等待慢速I/O操作结束的同时,程序可执行其他的计…

概率统计在AI中的作用

概率统计在人工智能(AI)中扮演着至关重要的角色,它为AI系统提供了强大的工具来处理不确定性、推断、预测和决策问题。以下是概率统计在AI中的作用以及相应的示例: 机器学习模型训练与推断: 在监督学习中,概率统计方法如朴素贝叶斯分类器、高斯混合模型(GMM)等被广泛用于…

《1w实盘and大盘基金预测 day7》

昨日预测有点差劲,最低点也相差五个点。 打分C 公众号:JavaHelmet 昨天预测: 3052-3062-3076-3115 3067是趋势线,有回踩需求 5-30-60分钟级别顶钝 大盘冲到标红的点位3115或者3100就需注意。不要随意追高(最高309…

备战蓝桥杯---牛客寒假训练营2VP

题挺好的,收获了许多 1.暴力枚举(许多巧妙地处理细节方法) n是1--9,于是我们可以直接暴力,对于1注意特判开头0但N!1,对于情报4,我们可以把a,b,c,d的所有取值枚举一遍,那么如何判断有…

ModbusTCP转Profinet网关高低字节交换切换

背景:在现场设备与设备通迅之间通常涉及到从一种字节序(大端或小端)转换到另一种字节序。大端字节序是指高位字节存储在高地址处,而小端字节序是指低位字节存储在低地址处。在不动原有程序而又不想或不能添加程序下可选用ModbusTC…

OCP NVME SSD规范解读-13.Self-test自检要求

4.10节Device Self-test Requirements详细描述了数据中心NVMe SSD自检的要求,这一部分规范了设备自身进行各种健康检查和故障检测的过程。自检对于确保SSD的正常运行和提前预防潜在故障至关重要。 在进行设备自检时,设备应当确保不对用户数据造成破坏&am…

【人工智能】Gitee AI 天数智芯有奖体验开源AI模型,一定能有所收货,快来体验吧

大家好,我是全栈小5,欢迎阅读小5的系列文章。 这是《人工智能》系列文章,每篇文章将以博主理解的角度展开讲解。 目录 前言两大赛道天数智芯1.模型地址2.天数智芯专区3.选择模型4.模型详情页5.部署模型6.成功部署7.执行例子8.移除模型 千模盲…

Python把world文档转化为.Md文件代码怎么写

将Word文档(通常是.docx格式)转换为Markdown(.md)文件并不是Python标准库直接支持的功能。但是,你可以使用第三方库,如python-docx来读取Word文档的内容,然后手动将其转换为Markdown格式。以下是…

03python注释与输入函数

Python 注释的作用: 注释可用于解释 Python 代码。 注释可用于提高代码的可读性。 在测试代码时,可以使用注释来阻止执行。 注释可以放在一行的末尾,Python 将忽略该行的其余部分: 实例1 print("Hello, World!") #打印输出Hello,World print(9-3) #输出9…

【mybatis】objectwrapper解读

简介 在 MyBatis 中,ObjectWrapper 是一个关键的接口,用于详细封装了对象的属性信息。ObjectWrapper 主要用于内部操作,它抽象了对象的属性操作,使得 MyBatis 能够统一处理原生类型、Bean 对象以及 Map 集合等。 类图展示 主要功…

Vue组件封装方案对比——v-if方式与内置component方式

近期在准备搭建一个通用组件库,而公司现有的各个系统也已有自己的组件库只是没抽离出来,但是目前有两套不同的组件封装方案,所以对于方案的选择比较困惑,于是对两种方式进行了对比,结合网上找到的一些开源组件库进行分…

抖音店铺规划运营管理计划数据分析工作表

【干货资料持续更新,以防走丢】 抖音店铺规划运营管理计划数据分析表 部分资料预览 资料部分是网络整理,仅供学习参考。 抖音小店运营规划工作表格(完整资料包含以下内容) 目录 1. 抖店运营管理决策表:该表格用于记…

三维指静脉生物识别成像设备设计和多视图验证研究

文章目录 三维指静脉生物识别成像设备设计和多视图验证研究总结摘要介绍多视角指静脉识别模型结构内容特征编码Transformer(CFET)主导特征选择模块(DFSM) 实验和结果数据集实施细节视角研究池化层的作用消融实验和SOTA方法比较 论文: Study of 3D Finger Vein Biometrics on I…

Linux——进程通信(三)命名管道

前言 我们在之前学习了匿名管道与匿名管道的应用——进程池,但是匿名管道的通信,需要有血缘关系的进程(通过fork创建的进程们),如果我想让两个毫不相干的进程进行通信,可以采样命名管道的方式(…

简单算法题收录

展开嵌套数组 检查数组中的项是数组的话也要对其进行展开&#xff0c;将展开的结果通过concat拍平放到当前数组中&#xff0c;完成数组展开 function flat(ar) {let arr []for (var i 0; i < ar.length; i) {if (Array.isArray(ar[i])) arr arr.concat(flat(ar[i]))else…

uniapp rich-text组件在苹果手机上最多显示两行样式失效

rich-text在苹果部分手机上溢出隐藏显示…样式失效的问题 .rich-text-container>rich-text {display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 2;overflow: hidden;line-height: 48rpx;height: 96rpx; }完整代码 <view class"rich-text-co…

Go语言中的锁与管道的运用

目录 1.前言 2.锁解决方案 3.管道解决方案 4.总结 1.前言 在写H5小游戏的时候&#xff0c;由于需要对多个WebSocket连接进行增、删、查的管理和对已经建立连接的WebSocket通过服务端进行游戏数据交换的需求。于是定义了一个全局的map集合进行连接的管理&#xff0c;让所有…