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

SparkSQL操作Mysql(2)

创建数据库和表

我们去创建一个新的数据库,数据表,并插入一条数据。

参考代码如下

-- 创建数据库

CREATE DATABASE spark;
-- 使用数据库

USE spark;

-- 创建表

create table person(id int, name char(20), age int);

-- 插入示例数据

insert into person values(1, 'jam', 20), (2,'judi', 21);

-- 查看所有数据
select * from person;

-- 退出
quit

提醒:use spark;的作用是使用当前数据库;

Spark连接MySQL数据库
  1. 新建项目,或者使用之前的项目也可以。
  2. 修改pom.xml文件。

补充三个依赖:

(1)scala-library 是 Scala 语言的基础库,是编写 Scala 程序的必要条件。

(2)spark-sql_2.12 提供了 Spark SQL 的功能,用于高效的数据处理和分析。

(3)mysql-connector-java 提供了与 MySQL 数据库交互的能力。

       <dependency><groupId>org.scala-lang</groupId><artifactId>scala-library</artifactId><version>2.12.15</version></dependency><dependency><groupId>org.apache.spark</groupId><artifactId>spark-sql_2.12</artifactId><version>3.3.1</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.33</version></dependency>

请注意,这里并没没有单独添加spark_core的依赖,因为在spark-sql中已经包含了spark_core。

  1. 写Spark程序连接mysql

核心步骤:

  1. 创建Properties对象,设置数据库的用户名和密码
  2. 使用spark.read.jbdc方法,连接数据库

参考代码如下:

impport org.apache.spark.sql.SparkSessionimport java.util.Propertiesobject SparkMySQL {def main(args: Array[String]): Unit = {val spark = SparkSession.builder().appName("SparkMySQL").master("local[*]").getOrCreate()// 创建properties对象,设置连接mysql的用户名和密码val prop = new Properties()prop.setProperty("user", "root")prop.setProperty("password", "000000")// 读取mysql数据val df = spark.read.jdbc("jdbc:mysql://hadoop100:3306/spark", "person", prop)df.show()spark.stop()}
Spark添加数据到mysql

前面演示了数据的查询,现在来看看添加数据到mysql。

核心方法:dataFrame.write.mode("append").jdbc()。

import org.apache.spark.sql.SparkSessionimport java.util.Propertiesobject SparkMySQL {def main(args: Array[String]): Unit = {val spark = SparkSession.builder().appName("SparkMySQL").master("local[*]").getOrCreate()// 创建properties对象,设置连接mysql的用户名和密码val prop = new Properties()prop.setProperty("user", "root")prop.setProperty("password", "000000")// 插入一条数据到数据库val data = Seq(("3", "zhangsan", "30"))val df2 = spark.createDataFrame(data).toDF("id", "name", "age")df2.write.mode("append").jdbc("jdbc:mysql://hadoop100:3306/spark", "person", prop)}}

http://www.xdnf.cn/news/6159.html

相关文章:

  • phpstudy的Apache添加AddType application/x-httpd-php .php .php5配置无效的处理方式
  • “智”造升级:金众诚如何赋能重型机械企业高效项目管理?
  • 【Python】超类与父类
  • Java 异常处理之 BufferUnderflowException(BufferUnderflowException 概述、常见发生场景、避免策略)
  • 华为云Flexus+DeepSeek征文|基于华为云ModelArts Studio平台体验DeepSeek-V3大模型
  • 微信小程序之按钮短时间内被多次点击问题
  • Python解释器、REPL与脚本的区别
  • TypeScript装饰器-简洁版
  • 启动窗体自动输入上次内容——CAD c#二次开发
  • MySQL--day1--数据库概述
  • [20250514] 脑机接口行业调研报告(2024年最新版)
  • Sunsetting 创建 React App
  • 斜率变化策略
  • 手写CString类
  • UniApp Vue3事件适配与兼容方案
  • python 练习 五
  • IIS服务器URL重写配置完整教程
  • MySQL视图:虚拟表的强大功能与应用实践
  • 国产化环境下的 DICOM 网络服务与影像处理适配
  • Yolov8的详解与实战-深度学习目标检测
  • 关于vue学习的经常性错误
  • KUKA库卡焊接机器人智能气阀
  • 亚远景-对ASPICE评估体系的深入研究与分析
  • ConfigMap 和 Secret 是否支持热更新
  • 系统单元测试和项目打包
  • Jmeter -- JDBC驱动连接数据库超详细指南
  • 东莞文件服务器存储维修-DELL MD3400电池故障
  • C++学习细节回顾(汇总二)
  • 基于Spring AI与Hugging Face TGI构建高效聊天应用:从配置到实践全解析
  • centos中postfix的作用