Spark使用JDBC连接MySQL的Java实现方式

spark 的 jdbc 连接代码写法,Java 版本其实也不算复杂,关键是几个参数得写清楚。你要连 MySQL,配置urluserpassword这些少不了,加载驱动也别忘了。不用太花哨,一段read.format("jdbc")就能搞定,还挺稳。

用 Java 写 Spark 连接 MySQL 的场景还蛮常见的,比如大批量离线数据、跑清洗任务之类的。有时候 Hive 不方便,JDBC 倒挺灵活。数据源那块,用option()方法塞参数就行,像这样:

Dataset df = spark.read()
    .format("jdbc")
    .option("url", "jdbc:mysql://localhost:3306/dbname")
    .option("driver", "com.mysql.cj.jdbc.Driver")
    .option("dbtable", "table_name")
    .option("user", "root")
    .option("password", "123456")
    .load();

嗯,驱动这块建议你装个稳定版的,比如mysql-connector-java 8.0.28,不容易出幺蛾子。如果你对驱动细节感兴趣,可以看看这个MySQL JDBC 连接驱动详解,挺详细。

你要是想了解下相关源码和底层实现,也可以翻翻Spark 核心思想与源码解析这篇,虽然是偏源码向的文章,但看完你会更踏实。

哦对了,还有一点,别忘了加mysql-connector-javajar包,不然加载驱动就会报错。可以去这个页面看看有哪些常用 jar 包:Java 连接 MySQL 所需 jar 包,也挺实用的。

如果你在实际项目里用 SparkMySQL 数据,建议搞个配置类统一管理这些 JDBC 参数,代码更清爽,维护起来也方便。

txt 文件大小:2.31KB