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

问题描述 投票:1回答:1

我想通过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)?

谢谢,

他们是

scala apache-spark apache-spark-sql spark-dataframe
1个回答
5
投票

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.