将spark的数据保存到MySQL

news2024/11/19 3:22:46

请添加图片描述

文章目录

  • 前言
  • 环境的准备是必要的
    • 下载
    • 解压
  • 放置文件
  • 代码书写
  • 注意事项
  • 结束语


前言

我们用spark对数据进行分析和提取数据后要对得到的数据进行保存接下来的内容是将数据保存到MySQL数据库中


环境的准备是必要的

下载

(本小博主已经为看官大人准备好了下载地址点击下载即可)
下载地址

解压

下载完成后我们对这个压缩包进行解压(当然不解压直接给他拽出来也不犯毛病)
就是下面画红框的(是他是他就是他)
在这里插入图片描述

放置文件

给他拽出来之后该给他放到哪里呢?
首先需要放到两个位置:
1、java目录下的\jre\lib\ext文件中(至于为什么不要问我,我也不知道他们说的)
2、spark目录下的jars文件中(放这个文件夹好像是因为pyspark连接Mysql是通过java实现的)

你要是不知道你的文件目录在哪里的话(那我也没有办法,自己慢慢的找吧,加油!)

当我们的以上的环境都已经就绪的时候,就可以开始让你的手指在键盘上放肆的舞动了,也就是说我们的粮草已将到位了。

代码书写

# 最重要的一步导入库
from pyspark.sql import SparkSession

# 初始化spark
spark = SparkSession.builder.appName("Python Spark xinfadi").config("config.option", "value").getOrCreate()
# 导入我自己爬取的csv文件,当然你们要是没有的话,我是不会给你们的🤭,我很抠哈
ds = spark.read.csv(path='新发地.csv', sep=',', encoding='UTF-8', comment=None, header=True, inferSchema=True)
# 这里就是开始很重要的了哦,获取csv文件中我们想要的数据,当然我这个就是一个获取出现次数的,你可以自己随意扩展,但是报错不要找我哦,因为也不会
slave = ds.select(ds.slave).groupby(ds.slave).count().collect()
# 这里最最最牛拜了,这是一个转化将列表转化为spark.daraframe的数据,方便保存。
list_aff = spark.createDataFrame(slave, schema=['slave', 'count'])
print(list_aff)
# 接下来我们的主角就要登场了,开始配置我们的数据库信息。
prop = {'user': 'root',
        'password': '***********',
        'driver': 'com.mysql.cj.jdbc.Driver'}
url = 'jdbc:mysql://localhost:3306/xfd'
# 最后就是往里面写信息了
list_aff.write.jdbc(url=url, table='新发地', mode='append', properties=prop)
spark.stop()

注意事项

容小的在唠叨两句:看见下面的这张图没,看见没,这个都是重点!!
凡是有红框的都是需要自己根据自己的情况进行更改的你用我的那直接就是一组小报错(最后一个除外哈圈多了,本来想一个一个的给解释解释呢后来犯懒了🤭)
在这里插入图片描述

结束语

祝大家代码越敲越顺会的越来越多,报错越来越少,代码一路绿灯~~~///(v)\~~~

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

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

相关文章

【JVM实战系列】「监控调优体系」实战开发arthas-spring-boot-starter监控你的微服务是否健康

前提介绍 相信如果经历了我的上一篇Arthas的文章[【JVM实战系列】「监控调优体系」针对于Alibaba-Arthas的安装入门及基础使用开发实战指南]之后,相信你对Arthas的功能和使用应该有了一定的理解了。那么我们就要进行下一步的探索功能。 Arthas对于SpringBoot2的支…

无效回表谁的锅?存储引擎:这事儿不赖我

明确场景 要回答这个问题,我们一般分几步来走: 1.确认问题,对齐Sql语句; 2.解答问题本身,也就是时间复杂度分析; 3.针对本身提出这个场景,可能出现的性能瓶颈进行分析; 4.针对瓶…

vue+element模仿腾讯视频电影网站

一.布局设计 官方图例: demo效果: 顶部1;左侧菜单栏2;右侧内容展示区3; 关键点: 顶部固定,不随页面滚动而滚动;左侧可局部滚动显示更多菜单;右侧局部滚动&#xff…

拓扑梅尔智慧办公平台(Topomel Box) 3.0发布

今天,2022年12月21日,我很高兴地宣布:拓扑梅尔智慧办公平台(Topomel Box)的3.0版本正式发布。 下面,请允许我简单地介绍下新版本的一些基本情况。 新特性 1) 统一的文件管理 将所有你关心的文件都统一存放在同一个地方&#xff…

Linux 4.7内核syncookie的性能

虽然现在的内核都已经是4.11版本了,但本文依旧基于较老的内核版本旧事重提,就4.7版本的一个针对syncookie的一个优化书写一段吹捧与嘲讽。 自从4.4版本的Lockless TCP listener以来,针对TCP在大并发连接处理这块一直都没有更大的突破&#x…

RNA-seq 详细教程:注释(15)

学习内容 了解可用的基因组注释数据库和存储信息的不同类型比较和对比可用于基因组注释数据库的工具应用各种 R 包检索基因组注释基因组注释 对二代测序结果的分析需要将基因、转录本、蛋白质等与功能或调控信息相关联。为了对基因列表进行功能分析,我们通常需要获得…

哈希冲突概率计算及python仿真

目录 1. 前言 2. 生日问题 3. 哈希冲突问题 4. 简易python仿真 5. 从另一个角度看哈希冲突概率 1. 前言 Hash函数不是计算理论的中基本概念,计算理论中只有单向函数的说法。所谓的单向函数,是一个复杂的定义,严格的定义要参考理论或者密…

老板,明年我用Seata搞定分布式事务管理的规范化建设 | 中篇

辞旧迎新,22年要结束了,明年做什么想好了嘛?要不要用 Seata 搞定公司分布式事务管理的规范化建设? 欢迎关注微信公众号「架构染色」交流和学习 一、背景 在上一篇《明年用Seata搞定分布式事务管理的规范化建设 | 上篇》 中介绍了…

低成本、高效率!华为云桌面助力企业数字化转型

在云计算飞速发展的今天,传统办公设备体积大、能耗高、维护难、更新换代快等问题日益凸显,而基于云计算平台的虚拟办公系统逐渐被业界接受并得到广泛应用。其中,华为云桌面Workspace既满足了企业移动办公、远程办公、安全办公等要求&#xff…

恒业微晶冲刺创业板上市:计划募资8亿元,戴联平为实控人

12月20日,上海恒业微晶材料科技股份有限公司(下称“恒业微晶”)在深圳证券交易所创业板递交招股书。本次冲刺创业板上市,恒业微晶计划募资8亿元,将用于恒业新型分子筛项目。 据天眼查信息显示,恒业微晶成立…

Servlet中Cookie和Session技术

一、状态管理1.1 现有问题HTTP协议是无状态的,不能保存每次提交的信息如果用户发来一个新的请求,服务器无法知道它是否与上次的请求有联系对于那些需要多次提交数据才能完成的Web操作,比如登录来说,就有问题了。1.2 概念将浏览器与…

牛津大学最新 | LUMix:Mixup改进版,几行代码轻松涨点!

点击下方卡片,关注“自动驾驶之心”公众号ADAS巨卷干货,即可获取点击进入→自动驾驶之心【目标检测】技术交流群后台回复【LUMix】获取论文!!!摘要当使用噪声样本和正则化技术进行训练时,现代深度网络可以更…

云端数据“上榜”了!

背景介绍随着全球特别是北美地区VNF网络应用渐渐地往云上迁移,云环境中更高的性能需求变得越来越迫切。作为一流数据处理中心部门,随着大势所趋,不仅仅专研于裸机的性能数据,也开始关注Intel平台在不同云环境中的性能表现。在DPDK…

外汇天眼:日本央行突然上调收益率目标上限,日元10分钟内涨超2%

12 月 20 日,日本央行公布利率决议,并在货币政策会议上宣布堪称“黑天鹅事件”的重大政策转变。日本央行意外地调整了收益率曲线控制计划,宣布将收益率目标上限从 0.25% 上调至 0.5% 左右,同时又将 1 至 3 月日本国债购买规模提高…

Java当中多态的理解

1. 什么是多态 同一操作,作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。 对应到 Java 里就是针对同一个类型的对象,执行同一个方法,会表现出不同的行为。 简单点说: 就是用基类…

<Linux进程信号>——《Linux》

本节重点: 1. 掌握Linux信号的基本概念 2. 掌握信号产生的一般方式 3. 理解信号递达和阻塞的概念,原理。 4. 掌握信号捕捉的一般方式。 5. 重新了解可重入函数的概念。 6. 了解竞态条件的情景和处理方式 7. 了解SIGCHLD信号, 重新编写信号处理…

面试官:Docker 有几种网络模式?5 年工作经验都表示答不上来。。

docker容器网络 Docker在安装后自动提供3种网络,可以使用docker network ls命令查看 [rootlocalhost ~]# docker network ls NETWORK ID NAME DRIVER SCOPE cd97bb997b84 bridge bridge l…

第1章 概述

第一章 概述 考试范围: 1.1-1.10 考试内容: 章节后的Review Terms(名词基本都在课文中) 考试题型: 综合题 Review Terms Database-management system (DBMS) :A collection of interrelated data and a …

信息检索 Information Retrieval

信息检索主要是查找与用户查询相关的文档。 给定:大型静态文档集合 和信息需求(基于关键字的查询) 任务:查找所有且仅与查询相关的文档 典型的 IR 系统: • 搜索一组摘要 • 搜索报纸文章 • 图书馆搜索 • 搜索网络 …

毕业后,我已经离开机械行业转行码农一年多了......

背景 鄙人本科毕业两年有余,机械工程专业,我已经离开机械行业转行码农一年多了。 如果有正在学习的,退学还是千万不要,不过能换专业就换专业,不能换就往机电一体化靠,加上自学编程,以后做嵌入…