spark 集成 ClickHouse 和 MySQL (读和写操作)(笔记)

这篇具有很好参考价值的文章主要介绍了spark 集成 ClickHouse 和 MySQL (读和写操作)(笔记)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

前言:

一.spark读出

1. spark 读出 MySQL表数据

1.2 spark 读出 ClickHouse表数据

 二.spark写入

1. spark 写入 MySQL表数据

 2.spark 写入 ClickHouse表数据


前言:

这篇文章主要记录的是用spark集成ClickHouse和MySQL,

将数据read出,和将数据write写入表的 (记录笔记)

创建sparkSession

因为这个不是重点,所以先简单创建下,实际是需要按照你的需求创建的

// 创建SparkSession
val spark = SparkSession.builder()
  .appName("Write to MySQL")
  .config("spark.sql.catalogImplementation", "hive")
  .getOrCreate()

一.spark读出

1. spark 读出 MySQL表数据

//读取数据    
 spark.read.format("jdbc")
      .option("url","jdbc:mysql://address-ip:3306/ds_db01??characterEncoding=UTF-8")  //url
      .option("driver","com.mysql.jdbc.Driver")     //驱动
      .option("user","root")                        //用户名
      .option("password","123456")                   //密码
      .option("dbtable","product_info")                //表
      .load().createOrReplaceTempView("v")
    spark.sql("select * from v")      //查询

1.2 spark 读出 ClickHouse表数据

    //    以jdbc为连接方式进行连接clickhouse
    val frame = sc.read.format("jdbc")
      .option("driver","ru.yandex.clickhouse.ClickHouseDriver" )//      配置driver
      .option("url", "jdbc:clickhouse:/address-ip:8123/shtd_result")//       配置url
      .option("dbtable", "cityavgcmpprovince")
      .option("user", "default")
      .option("password", "123456")
      .load()

 二.spark写入

1. spark 写入 MySQL表数据

// 将数据写入MySQL表
processedData.write
  .format("jdbc")
  .option("driver", "com.mysql.jdbc.Driver")
  .option("url", "jdbc:mysql://mysql-host:3306/database")
  .option("dbtable", "mysql_table")
  .option("user", "username")
  .option("password", "password")
  .mode(SaveMode.Append)
  .save()

 2.spark 写入 ClickHouse表数据

// 将数据写入ClickHouse表
processeData.write
  .format("jdbc")
  .option("driver", "ru.yandex.clickhouse.ClickHouseDriver")
  .option("url", "jdbc:clickhouse://clickhouse-host:8123/database")
  .option("dbtable", "clickhouse_table")
  .option("user", "username")
  .option("password", "password")
  .mode(SaveMode.Append)
  .save()
processedData:代表你处理好的数据的DataFrame对象。
path/to/processedData.parquet:代表你处理好的数据的存储路径,可以是Parquet、CSV等格式。
mysql-host:代表MySQL数据库的主机名或IP地址。
database:代表MySQL数据库的名称。
mysql_table:代表要写入的MySQL表的名称。
username:代表连接MySQL所需的用户名。
password:代表连接MySQL所需的密码

mode参数

1. SaveMode.Append:将新数据追加到目标表的末尾。如果表不存在,则创建一个新表并保存数据。

2. SaveMode.Overwrite:完全覆盖目标表的数据。如果表不存在,则创建一个新表并保存数据。

3. SaveMode.ErrorIfExists:如果目标表已经存在,则抛出一个错误。用于避免意外地覆盖已有数据。

4. SaveMode.Ignore:如果目标表已经存在,则忽略保存操作,不做任何处理。

这些参数用于指定保存数据时的行为。根据具体的需求,选择合适的保存模式可以确保数据正确地保存到目标表中,同时避免意外覆盖或丢失数据。文章来源地址https://www.toymoban.com/news/detail-729722.html

到了这里,关于spark 集成 ClickHouse 和 MySQL (读和写操作)(笔记)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MySQL与Spark集成实践

    在大数据时代,数据的处理和分析已经成为企业的核心竞争力。MySQL作为最流行的关系型数据库之一,被广泛应用于各种业务场景中。而Apache Spark则是一个大规模数据处理的统一分析引擎,它提供了一种简单、通用的方式来处理大规模数据。本文将介绍如何将MySQL与Spark集成,

    2024年02月21日
    浏览(82)
  • spring boot 集成spark操作hive

    在Spring Boot中集成Spark操作Hive,可以使用以下步骤: 确认系统中已经安装了Hadoop和Spark,并且配置好了环境变量。 在pom.xml文件中添加以下依赖: 配置Spark和Hive连接信息: 上面的配置中,hive.metastore.uris是Hive的元数据存储地址。 编写代码进行Hive操作。例如,查询Hive表数据:

    2024年02月13日
    浏览(40)
  • Spark与Hive的集成与互操作

    Apache Spark和Apache Hive是大数据领域中两个非常流行的工具,用于数据处理和分析。Spark提供了强大的分布式计算能力,而Hive是一个用于查询和管理大规模数据的数据仓库工具。本文将深入探讨如何在Spark中集成和与Hive进行互操作,以充分利用它们的强大功能。 在深入了解集成

    2024年01月20日
    浏览(34)
  • Mysql 幻读,当前读和快照读

    什么是幻读 幻读 指当用户读取某一范围的数据行时,另一个事务又在该范围内插入了新行,当用户在读取该范围的数据行时,会发现有新增行数据; mysql 在RR(可重复读)隔离级别利用间隙锁机制下一定程度上解决了幻读。 这里的一定程度上 是指 只有 快照读 的情况。 当前读

    2024年02月12日
    浏览(42)
  • 读随手记】MySQL快照读和当前都

    在MySQL中,当前读和快照读是针对事务隔离级别的概念。事务隔离级别决定了事务在读取数据时的一致性要求和并发控制方式。 当前读(Current Read):当前读获取的是数据的最新版本,可以读取到其他事务已经提交的更改。当前读可以保证读取到最新的数据,但可能会读取到未

    2024年04月15日
    浏览(29)
  • docker中对Spark 应用中配置 MySQL 连接

    在做下图的实验发现docker中的mysql和spark要建立连接需要 MySQL JDBC 驱动程序,所以出一个我的处理过程,供大伙参考。 首先要把两个docker镜像装好,下面是两个常用的: 然后就可以开始搭建环境了: 打开主机的cmd终端, 创建一个 docker网络 : docker network create spark-mysql-networ

    2024年02月02日
    浏览(62)
  • 【大数据技术】Spark-SQL如何连接MySQL并进行读写数据

    1、配置连接MySQL的驱动 根据自己安装的MySQL的版本,找到正确的驱动文件,我的是MySQL8.0.19 所以驱动文件是mysql-connector-java-8.0.19.jar,将其复制到spark目录下的jars文件夹下 my@ubuntu:/usr/local/spark245_h_local/jars$ cp /home/my/myfolder/mysql-connector-java-8.0.19/mysql-connector-java-8.0.19.jar . 2、spark

    2024年02月08日
    浏览(39)
  • ClickHouse(二十三):Java &Spark读写ClickHouse API

      进入正文前,感谢宝子们订阅专题、点赞、评论、收藏!关注IT贫道,获取高质量博客内容! 🏡个人主页:含各种IT体系技术,IT贫道_Apache Doris,大数据OLAP体系技术栈,Kerberos安全认证-CSDN博客 📌订阅:拥抱独家专题,你的订阅将点燃我的创作热情! 👍点赞:赞同优秀创作

    2024年02月12日
    浏览(45)
  • Spark大数据处理讲课笔记4.2 Spark SQL数据源 - 基本操作

      目录 零、本讲学习目标 一、基本操作 二、默认数据源 (一)默认数据源Parquet (二)案例演示读取Parquet文件 1、在Spark Shell中演示 2、通过Scala程序演示 三、手动指定数据源 (一)format()与option()方法概述 (二)案例演示读取不同数据源 1、读取房源csv文件 2、读取json,保

    2024年02月09日
    浏览(44)
  • 【SpringBoot】| ORM 操作 MySQL(集成MyBatis)

    目录 一:ORM 操作 MySQL  1. 创建 Spring Boot 项目 2. @MapperScan 3. mapper文件和java代码分开管理 4. 事务支持 使用MyBatis框架操作数据, 在SpringBoot框架集成MyBatis,使用步骤: (1)mybatis起步依赖 : 完成mybatis对象自动配置, 对象放在容器中 (2)pom.xml 指定把src/main/java目录中的xml文

    2024年02月14日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包