Spark连接MySQL完整教程

第一部分:MySQL安装与配置

1.1 安装MySQL

在Ubuntu终端中执行以下命令:

# 更新软件源

sudo apt update

# 安装MySQL服务器

sudo apt -y install mysql-server

# 检查MySQL服务状态

sudo systemctl status mysql

看到"Active: active (running)"表示安装成功!

1.2 设置root密码

# 登录MySQL

sudo mysql

# 在MySQL命令行中设置密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

FLUSH PRIVILEGES;

quit;

1.3 创建测试数据库和表

# 重新登录MySQL

mysql -u root -p  # 输入密码123456

# 创建数据库和表

CREATE DATABASE people;

USE people;

CREATE TABLE people_info(

    id BIGINT,

    gender VARCHAR(10),

    height INT

);

# 插入测试数据

INSERT INTO people_info VALUES(0, 'F', 168);

# 退出

quit;

第二部分:准备MySQL JDBC驱动

2.1 下载驱动

从MySQL官网下载对应版本的JDBC驱动(如mysql-connector-j-8.0.31.tar.gz)

2.2 安装驱动

# 解压驱动包

cd ~/soft

tar -zxf mysql-connector-j-8.0.31.tar.gz

# 复制到Spark的jars目录

cp mysql-connector-j-8.0.31/mysql-connector-j-8.0.31.jar /usr/local/spark/jars

重要提示:完成后需要重启PySpark才能生效!

第三部分:Spark读写MySQL

3.1 从CSV创建DataFrame

启动PySpark后执行:

# 定义schema

pep_schema = 'id LONG, gender STRING, height INT'

# 读取CSV文件

df = spark.read.csv(

    "file:///home/spark/people_info.csv",

    schema=pep_schema)

# 创建临时视图

df.createOrReplaceTempView("my_people_info")

3.2 写入数据到MySQL

# 查询前10条数据

pep10 = spark.sql("SELECT * FROM my_people_info LIMIT 10")

# 配置连接信息

prop = {

    'user': 'root',

    'password': '123456',

    'driver': 'com.mysql.cj.jdbc.Driver'

}

url = 'jdbc:mysql://localhost:3306/people'

# 写入MySQL

pep10.write.jdbc(

    url=url,

    table='people_info',

    mode='append',  # 追加模式

    properties=prop)

# 查看写入的数据

pep10.show()

3.3 从MySQL读取数据

# 读取MySQL表

mysql_df = spark.read.jdbc(

    url=url,

    table='people_info',

    properties=prop)

mysql_df.show()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值