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

相关推荐
roman_日积跬步-终至千里10 分钟前
【数据Agent论文·查询与语义|06】RAT-SQL:怎样把问题、表和字段真正关联起来?
数据库·sql·数据分析
盟接之桥20 分钟前
盟接之桥谈线束数字化-按单入按单出:线束企业库存管理的破局之道
大数据·前端·网络·数据库·人工智能·制造
Nturmoils43 分钟前
数据集成软件 KFS:多套业务库汇聚时,先把来源和口径理清
数据库
麦壳饼1 小时前
SonnetDB:批量写入的大小、背压与刷新策略
数据库·sonnetdb
weixin_460443561 小时前
Java+Linux私有化训考平台:服务、数据库与终端部署结构解析
java·linux·数据库·私有化部署·企业培训考试系统·企业考试系统
ha_lydms1 小时前
St Functions(空间函数)
大数据·hadoop·阿里云·spark·数据处理·dataworks·maxcompute
编程火箭车2 小时前
MySQL 拥抱 AI:向量、RAG、AutoML 全进了数据库
数据库·mysql·ai编程·向量数据库·rag·automl·mysql9
用户8662978480083 小时前
KingbaseES 中文乱码、排序不对?区域和字符集的问题,一次说清
数据库
aruo3 小时前
回退旧镜像之前,先确认数据库还能兼容
数据库
张洛闻Eren3 小时前
Ansible【第三课】:管理变量和事实
数据库·oracle