5.7 使用Spark SQL读写数据库 Spark SQL可以支持Parquet、JSON、Hive等数据源,并且可以通过JDBC连接外部数据源 5.7.1 准备工作 5.7.2 读取MySQL数据库中的数据 5.7.3 向MySQL数据库写入数据 5.7.1 准备工作 请参考厦门大学数据库实验室博客教程《 Ubuntu安装MySQL 》,在Linux系统中安装好MySQL数据库 教程地址: /blog/install-mysql/ 平台每年访问量超过100万次 5.7.1 准备工作 在Linux中启动MySQL数据库 $ service mysql start $ mysql -u root -p #屏幕会提示你输入密码 mysql> create database spark; mysql> use spark; mysql> create table student (id int(4), name char(20), gender char(4), age int(4)); mysql> insert into student values(1,'Xueqian','F',23); mysql> insert into student values(2,'Weiliang','M',24); mysql> select * from student; 输入下面SQL语句完成数据库和表的创建: 5.7.1 准备工作 下载MySQL的JDBC驱动程序,比如mysql-connector-java-5.1.40.tar.gz 把该驱动程序拷贝到spark的安装目录” /usr/local/spark/jars”下 启动pyspark $ cd /usr/local/spark $ ./bin/pyspark 5.7.2 读取MySQL数据库中的数据 >>> jdbcDF = spark.read \ .format("jdbc") \ .option("driver","com.mysql.jdbc.Driver") \ .option("url", "jdbc:mysql://localhost:3306/spark") \ .option("dbtable", "student") \ .option("user", "root") \ .option("password", "123456") \ .load() >>> jdbcDF.show() +---+--------+------+---+ | id| name|gender|age| +---+--------+------+---+ | 1| Xueqian| F| 23| | 2|Weiliang| M| 24| +---+--------+------+---+ 执行以下命令连接数据库,读取数据,并显示: 5.7.3 向MySQL数据库写入数据 在MySQL数据库中创建了一个名称为spark的数据库,并创建了一个名称为student的表 创建后,查看一下数据库内容: 5.7.3 向MySQL数据库写入数据 现在开始编写程序,往spark.student表中插入两条记录 #!/usr/bin/env python3 from pyspark.sql import Row from pyspark.sql.types import * from pyspark import SparkContext,SparkConf from pyspark.sql import SparkSession spark = SparkSession.builder.config(conf = SparkConf()).getOrCreate() #下面设置模式信息 schema = StructType([StructField("id", IntegerType(), True), \ StructField("name", StringType(), True), \ StructField("gender", StringType(), True), \ StructField("age", IntegerType(), True)]) 5.7.3 向MySQL数据库写入数据 #下面设置两条数据,表示两个学生的信息 studentRDD = spark \ .sparkContext \ .parallelize(["3 Rongcheng M 26","4 Guanhua M 27"]) \ .map(lambda x:x.split("

spark python编程 林子雨_林子雨-Spark编程基础Python版-厦门大学数据库室.ppt相关推荐

  1. python面向对象编程98讲_谈面向对象的编程(Python)

    (注:本文部分内容摘自互联网,由于作者水平有限,不足之处,还望留言指正.) 今天中秋节,也没什么特别的,寻常日子依旧. 谈谈面向对象吧,什么叫面向对象? 那么问题来了,你有对象吗? 嗯,,,那我可以做 ...

  2. 少儿学python真的有用吗_如何看待海淀妈妈们认为Python是儿童才学的低端编程?...

    海淀妈妈没说错啊~ 对于她们,python确实是儿童才学的低端编程. 儿童学编程,最重要的是易上手,当然要用代码看起来更简单的动态语言. 主流的动态语言里,ruby太骚,js太贱,php太浪,只有py ...

  3. python 网络编程是什么_什么是网络编程-Python 网络编程-嗨客网

    Python网络编程网络编程教程 网络编程的本质是两个设备之间的数据交换,当然,在计算机网络中,设备主要指计算机.数据传递本身没有多大的难度,不就是把一个设备中的数据发送给两外一个设备,然后接受另外一 ...

  4. python线上课堂_线上线下相结合的Python编程教学

    线上线下相结合的 Python编程教学 朱军强 广东省韶关市乳源瑶族自治县桂头中学 ,广东 韶关 512736 摘要:Python编程教学是初中信息课堂教学的重要组成模块,高质量的Python编程教学 ...

  5. python编程 迷你世界_迷你世界迷你编程下载

    迷你世界迷你编程是一款图形化编程软件,可以帮助青少年学习基础的编程知识,提高逻辑思维能力,迷你世界迷你编程还能让用户直观的感受到编程效果,对编程产生兴趣. 基本简介 迷你世界迷你编程官方版是三维图形化 ...

  6. python编程 迷你世界_迷你世界迷你编程

    迷你世界迷你编程官方版是三维图形化编程工具,适合6-16岁对编程零基础的孩子学习,可以帮助青少年学习基础的编程知识,提高逻辑思维能力,迷你世界迷你编程还能让用户直观的感受到编程效果,对编程产生兴趣. ...

  7. python编程 迷你世界_迷你世界迷你编程1.1最新免费版下载-迷你世界迷你编程官方版下载-Appfound...

    迷你世界迷你编程是一款非常好用的编程学习辅助工具,软件使用中文操作界面,使用更加简单易上手,能够给孩子培养编程思维,通过图形化编程模式让孩子轻松学习各种编程放视,有需要的家长朋友们欢迎下载使用! 基本 ...

  8. spark 广播变量大数据_大数据处理 | Spark集群搭建及基本使用

    点击蓝字关注我 前面用了一篇文章详细的介绍了集群HDFS文件系统的搭建,HDFS文件系统只是一个用于存储数据的系统,它主要是用来服务于大数据计算框架,例如MapReduce.Spark,本文就接着上一 ...

  9. 经典python项目源码_建议收藏,22个Python迷你项目(附源码)

    在使用Python的过程中,我最喜欢的就是Python的各种第三方库,能够完成很多操作. 下面就给大家介绍22个通过Python构建的项目,以此来学习Python编程. 大家也可根据项目的目的及提示, ...

  10. python迷你停车管理系统_建议收藏,22个Python迷你项目(附源码)

    在使用Python的过程中,我最喜欢的就是Python的各种第三方库,能够完成很多操作. 下面就给大家介绍22个通过Python构建的项目,以此来学习Python编程. 大家也可根据项目的目的及提示, ...

最新文章

  1. 每天一个linux命令(9):touch命令
  2. c# 返回一个对象实例的浅副本
  3. jdbc连接mysql问题
  4. 【kafka】kafka 建立很多很多消费组 会怎么样
  5. java 扫描自定义注解_利用spring 自定义注解扫描 找出使用自定义注解的类
  6. 仓库进销存管理软件系统如何更换电脑使用
  7. 微信小程序demo测试实践
  8. 英语数字的 android,英语数字听力手机版
  9. 全球与中国激光共焦扫描显微镜市场深度研究分析报告
  10. IDEA 不检查语法错误问题
  11. Ubuntu16.04添加Pycharm快捷方式在启动器并修复问号图标问题
  12. 解决不支持S/W HEVC(H265)解码/找不到FFmpeg64.dll
  13. Window 10将内置眼球追踪技术
  14. 反欺诈之路——黑卡、养卡的识别
  15. Paxos 与拜占庭将军问题
  16. 芜湖市python培训价格
  17. 红杉资本:生成式AI 一个创造性的新世界
  18. c语言学籍管理系统实训作业,学籍管理系统C语言实训报告
  19. php漏洞 乌云,GitHub - grt1st/wooyun_search: 乌云公开漏洞、知识库搜索 search from wooyun.org...
  20. 初中计算机课教什么时候,浅谈初中信息技术课教学

热门文章

  1. 抓包工具charles青花瓷的基本使用(android)
  2. 拉杆音响电池升压芯片4.2V转12V2.5A大功率升压芯片
  3. linux命令mysql启动,linux下启动mysql的命令
  4. 如何区分网线是几类的_怎么看网线是几类?
  5. 硬件设计——DC-DC转换器
  6. 【常用配置】——WPS文字常用快捷键大全【史上最全面】转
  7. SEFS安全透明加密内核
  8. 移动端html页面显示图表,HTML5移动端数据图表组件调研
  9. Visual Studio 2012下载资源 百度云
  10. deap dataset的不同分类模型的实现(1)