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表中。

相关推荐
SelectDB28 分钟前
开源替代怎么选:能力对照、三条部署路径与四类边界速查
数据库·云原生·开源
SelectDB28 分钟前
自建与托管怎么选:开源自建、私有化与云上托管三条路径速查
数据库·云原生·开源
这个DBA有点耶29 分钟前
深入 OLTP 锁与并发:从行锁到分布式事务的一致性权衡
数据库·架构·产品
SelectDB30 分钟前
数仓 TCO 怎么算:五项成本拆解框架速查
大数据·数据库·开源
虚拟世界AI1 小时前
Kronos 时间序列数据库新手部署与实战指南
数据库
愤怒火龙果1 小时前
AI攻防 AIRT03-RAG Exploitation & Vector Database Attacks
数据库·人工智能·网络安全
SelectDB1 小时前
高并发 BI 看板怎么撑住:隔离与加速配置速查
大数据·数据库·数据分析
l1t2 小时前
测试DuckDB v2.1.0-alpha49002的bignum乘法
数据库·sql·算法·duckdb
麦壳饼2 小时前
SonnetDB:向量召回率评估中的精确基线与参数记录
数据库·sonnetdb
ClouGence3 小时前
数据如何随时可用?广西水牛先生的 MySQL 实时同步实践
数据库·mysql·数据分析