美文网首页mysql
pyspark 数据库读写数据

pyspark 数据库读写数据

作者: 大锤强无敌 | 来源:发表于2020-08-11 14:51 被阅读0次

一.从数据库读数据

1.导入jar包

image.png

在spark-hadoop包下的jars中导入对应数据库驱动的jar包

image.png

我所用的是oracle数据库,则导入ojdbc6-11.2.0.jar

2.数据库配置

我的数据库配置采用的 ini 配置文件的方式(此步可省略,手写链接配置也可以)

image.png

获取配置的方法:

#dbtype为[]中的名称,config_path为配置文件的地址
def get_db_config(dbtype,config_path='/home/ap/cognos/JRJY_Rec/config/db_config.ini'):
    import configparser
    #读取ini配置文件
    cf = configparser.ConfigParser()
    cf.read(config_path)
    url = cf.get(dbtype,'url')
    user = cf.get(dbtype,'user')
    password = cf.get(dbtype,'password')
    driver = cf.get(dbtype,'driver')
    prop = {'user': user,'password': password,'driver': driver}
    return prop,url

prop,url = get_db_config('oracle-hasdb')
#prop中为用户名,密码,驱动
#url为jdbc链接

3.从数据库导出数据到pyspark的dataframe

df = spark.read.jdbc(url=url,table='table_name',properties=prop)
# url jdbc连接
# table 数据库表名,也可以是查询语句,如:select * from table_name where ....
# properties 配置信息,也可以手动填写,如:properties={'user':'username','password':'password','driver':'driver'}

二.dataframe写入数据到数据库

prop,url = get_db_config('oracle-hasdb')
df.write.jdbc(url=url, table='table_name', mode='append', properties=prop)
# 配置文件和读数据库配置一样
# table table为数据库建立的表,如果不存在,spark会为df建立表
# mode append为追加写人数据

相关文章

  • pyspark 数据库读写数据

    一.从数据库读数据 1.导入jar包 在spark-hadoop包下的jars中导入对应数据库驱动的jar包 如 ...

  • pyspark--MySQL数据库读写

    pyspark是Spark对Python的api接口,可以在Python环境中通过调用pyspark模块来操作sp...

  • 8 Redis数据库

    Redis数据库 ->非关系型数据库 1、Redis使用内存读写,硬盘进行备份数据 ->内存读写速度快,但成本高,...

  • 阿里P8架构师带你玩转数据库 “读写分离”

    想用数据库“读写分离” 请先明白“读写分离”解决什么问题 有一些技术同学可能对于“读写分离”了解不多,认为数据库的...

  • Spring 多数据源动态切换实现与原理分析

    一 多数据源 在平常的开发过程中,我们经常会遇到对多个数据库进行读写的场景,比如说数据库主从读写分离啊,不同数据库...

  • 46 初始MyCat实现读写分离与动态数据源切换

    基于MyCat实现读写分离读写分离,简单地说是把对数据库的读和写操作分开,以对应不同的数据库服务器。主数据库提供写...

  • redis集群知识点

    redis集群知识点 1.主从模式 主数据库可以进行读写操作,当读写操作导致数据变化时会自动将数据同步给从数据库 ...

  • cent os搭载mysql读写分离

    数据库拆分原则 1.优先使用缓存来降低数据库访问压力2.缓存无法解决问题使用数据库读写分离3.读写分离有瓶颈使用数...

  • 性能优化思考(持续更新)

    一、要不要读写分离 数据库读写分离能减轻数据库的压力,从而提高应用整体性能。 但我个人觉得,数据库首先应该保证的是...

  • 分库分表

    之前我们讲过利用数据库的读写分离提升数据库的读写性能,今天我们再来聊一聊数据库优化的另外一个重量级武器,分库分表。

网友评论

    本文标题:pyspark 数据库读写数据

    本文链接:https://www.haomeiwen.com/subject/tofydktx.html