如何使用Spark执行MySQL(JDBC)连接?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用Spark执行MySQL(JDBC)连接?相关的知识,希望对你有一定的参考价值。

我想通过Spark从mysql读取数据。我看到的API能够从特定表中读取数据。就像是,

val prop = new java.util.Properties
prop.setProperty("user", "<username>")
prop.setProperty("password", "<password>")

sparkSession.read.jdbc("jdbc:mysql://????:3306/???", "some-table", prop)

现在,我想对连接表执行查询。有谁知道怎么做(在数据库方面,而不是Spark SQL)?

谢谢,

他们是

答案

您需要使用“table”参数作为查询:

val table = "(SELECT foo JOIN bar ON foo.id = bar.id) as t"

spark.read.jdbc("jdbc:mysql://????:3306/???", table, prop)

您应该注意,为查询提供别名很重要,否则这将无效。

以上是关于如何使用Spark执行MySQL(JDBC)连接?的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 jdbc 和 spark 连接器从 databricks 集群连接到 Azure 数据库 for MySQL 服务器

如何使用 JDBC 从 Oracle 读取数据集?

用jdbc连接mysql数据库,执行程序一段时间后控制台报连接超时。why,如何解决!

SPARK SQL - 使用 DataFrames 和 JDBC 更新 MySql 表

Spark集群模式下的Impala JDBC连接问题

从 Spark 到 Oracle 服务器的 JDBC 连接