Spark SQL与JDBC的集成

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 笔记

数据源:

userid,addres,age,username
001,guangzhou,20,alex
002,shenzhen,34,jack
003,beijing,23,lili

创建mysql数据表

create table person(
userid varchar(20),
addres varchar(20),
age varchar(20),
username varchar(20)
);
insert into person(userid,addres,age,username) values('001','guangzhou','20','alex');
insert into person(userid,addres,age,username) values('002','shenzhen','34','jack');
insert into person(userid,addres,age,username) values('003','beijing','23','lili');

代码实现:

package com.kfk.spark.sql
import com.kfk.spark.common.CommSparkSessionScala
import org.apache.spark.sql.{DataFrame, SparkSession}
import java.util.Properties
/**
 * @author : 蔡政洁
 * @email :caizhengjie888@icloud.com
 * @date : 2020/12/11
 * @time : 2:11 下午
 */
object JDBCSpark {
    def main(args: Array[String]): Unit = {
        val spark = CommSparkSessionScala.getSparkSession()
        // 方法一创建jdbc链接
        val jdbcDF = spark.read
                .format("jdbc")
                .option("url", "jdbc:mysql://bigdata-pro-m04/spark")
                .option("dbtable", "person")
                .option("user", "root")
                .option("password", "199911")
                .load()
        jdbcDF.show()
        getData(spark)
        writeData(jdbcDF)
    }
    /**
     * 读取mysql中的数据
     * @param spark
     */
    def getData(spark : SparkSession): Unit ={
        // 方法二创建jdbc链接
        val connectionProperties = new Properties()
        connectionProperties.put("user", "root")
        connectionProperties.put("password", "199911")
        val jdbcDF2 = spark.read.jdbc("jdbc:mysql://bigdata-pro-m04/spark", "person", connectionProperties)
        jdbcDF2.show()
    }
    /**
     * 将数据写入到mysql中
     * @param jdbcDF
     */
    def writeData(jdbcDF : DataFrame): Unit ={
        jdbcDF.write
                .format("jdbc")
                .option("url", "jdbc:mysql://bigdata-pro-m04/spark")
                .option("dbtable", "person_info")
                .option("user", "root")
                .option("password", "199911")
                .save()
    }
}

运行结果:

查看写入的数据

mysql> select * from person_info;
+--------+-----------+------+----------+
| userid | addres    | age  | username |
+--------+-----------+------+----------+
| 001    | guangzhou | 20   | alex     |
| 002    | shenzhen  | 34   | jack     |
| 003    | beijing   | 23   | lili     |
+--------+-----------+------+----------+


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3月前
|
分布式计算 大数据 Apache
ClickHouse与大数据生态集成:Spark & Flink 实战
【10月更文挑战第26天】在当今这个数据爆炸的时代,能够高效地处理和分析海量数据成为了企业和组织提升竞争力的关键。作为一款高性能的列式数据库系统,ClickHouse 在大数据分析领域展现出了卓越的能力。然而,为了充分利用ClickHouse的优势,将其与现有的大数据处理框架(如Apache Spark和Apache Flink)进行集成变得尤为重要。本文将从我个人的角度出发,探讨如何通过这些技术的结合,实现对大规模数据的实时处理和分析。
224 2
ClickHouse与大数据生态集成:Spark & Flink 实战
|
22天前
|
SQL 分布式计算 Java
Spark SQL向量化执行引擎框架Gluten-Velox在AArch64使能和优化
本文摘自 Arm China的工程师顾煜祺关于“在 Arm 平台上使用 Native 算子库加速 Spark”的分享,主要内容包括以下四个部分: 1.技术背景 2.算子库构成 3.算子操作优化 4.未来工作
|
3月前
|
分布式计算 大数据 OLAP
AnalyticDB与大数据生态集成:Spark & Flink
【10月更文挑战第25天】在大数据时代,实时数据处理和分析变得越来越重要。AnalyticDB(ADB)是阿里云推出的一款完全托管的实时数据仓库服务,支持PB级数据的实时分析。为了充分发挥AnalyticDB的潜力,将其与大数据处理工具如Apache Spark和Apache Flink集成是非常必要的。本文将从我个人的角度出发,分享如何将AnalyticDB与Spark和Flink集成,构建端到端的大数据处理流水线,实现数据的实时分析和处理。
94 1
|
3月前
|
SQL JSON 分布式计算
【赵渝强老师】Spark SQL的数据模型:DataFrame
本文介绍了在Spark SQL中创建DataFrame的三种方法。首先,通过定义case class来创建表结构,然后将CSV文件读入RDD并关联Schema生成DataFrame。其次,使用StructType定义表结构,同样将CSV文件读入RDD并转换为Row对象后创建DataFrame。最后,直接加载带有格式的数据文件(如JSON),通过读取文件内容直接创建DataFrame。每种方法都包含详细的代码示例和解释。
|
4月前
|
SQL 分布式计算 大数据
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(一)
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(一)
123 0
|
4月前
|
SQL 分布式计算 算法
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(二)
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(二)
124 0
|
4月前
|
SQL 分布式计算 Java
大数据-96 Spark 集群 SparkSQL Scala编写SQL操作SparkSQL的数据源:JSON、CSV、JDBC、Hive
大数据-96 Spark 集群 SparkSQL Scala编写SQL操作SparkSQL的数据源:JSON、CSV、JDBC、Hive
100 0
|
4月前
|
Java Maven Docker
gitlab-ci 集成 k3s 部署spring boot 应用
gitlab-ci 集成 k3s 部署spring boot 应用
|
3月前
|
消息中间件 监控 Java
您是否已集成 Spring Boot 与 ActiveMQ?
您是否已集成 Spring Boot 与 ActiveMQ?
76 0
|
7月前
|
监控 druid Java
spring boot 集成配置阿里 Druid监控配置
spring boot 集成配置阿里 Druid监控配置
345 6

热门文章

最新文章