Spark SQL将Hive表中的数据写入到MySQL数据库中

Scala 复制代码
import org.apache.spark.sql.SparkSession

object HiveToMySQL {
  def main(args: Array[String]): Unit = {
    // 创建SparkSession
    val spark = SparkSession.builder()
      .appName("HiveToMySQL")
      .enableHiveSupport()
      .getOrCreate()

    // 读取Hive表数据
    val hiveDF = spark.table("hive_table_name")

    // 写入MySQL表
    hiveDF.write
      .format("jdbc")
      .option("url", "jdbc:mysql://localhost:3306/database_name")
      .option("dbtable", "mysql_table_name")
      .option("user", "mysql_username")
      .option("password", "mysql_password")
      .save()
    
    // 关闭SparkSession
    spark.stop()
  }
}
  • "hive_table_name":Hive表的名称。
  • "jdbc:mysql://localhost:3306/database_name":MySQL数据库的连接URL,包括主机名、端口号和数据库名称。
  • "mysql_table_name":要写入的MySQL表的名称。
  • "mysql_username":MySQL数据库的用户名。
  • "mysql_password":MySQL数据库的密码。

确保替换这些参数后,运行代码即可将Hive表中的数据写入到MySQL表中。

相关推荐
布莱克60532 分钟前
数据库索引分类:数据结构、物理存储与逻辑角度详解
数据结构·数据库
SelectDB1 小时前
DeepSeek Harness 接入 Litefuse:完善 Agent 可观测与评估能力
数据库
这个DBA有点耶2 小时前
从库延迟的“二次放大”效应:一次大事务,拖垮整个读写分离
数据库·mysql·架构
LearnYard2 小时前
自然语言驱动的数据图表生成:几款工具功能对比实践
数据库·百度·powerpoint
一个有温度的技术博主2 小时前
MySQL 三大日志协同机制:redo log、undo log 与 binlog 的联合运作
数据库·mysql·oracle
ltl3 小时前
ClickHouse 与 DuckDB 选型:不是同一类列存
数据库
ltl3 小时前
RocksDB WAL 与 WriteBatch:持久化与原子批写
数据库
ltl3 小时前
流批一体与增量视图:Materialize、RisingWave 与 DBSP
数据库
ltl3 小时前
向量混合检索与标量过滤:表达式、bitset 与选择度
数据库
lf13210273 小时前
用 JSON Schema 管装修节点记录:从照片台账到可校验工程数据
网络·数据库·人工智能·经验分享·物联网·json·智能家居