【发布时间】:2020-09-13 22:37:53
【问题描述】:
我正在使用 Spark 3.0,在我的 Java 程序中,我正在从 Oracle DB 中的视图中查询数据。我使用 Java API JdbcRDD 来查询视图。 我遇到的问题是视图不包含任何 ID 或时间戳列。因此,我无法使用 lowerBound 和 upperBound 值构建我的 SQL 查询。 请在下面找到我需要在 Spark 中运行的示例查询。这里 exp_stg.usr 和 exp_stg.prtcpnt 是暴露给我的两个视图。
"SELECT a.participant,
a.desc,
b.firstname,
b.lastname,
b.dept,
b.telno,
b.emailaddr
FROM usr_stg.prtcpnt a
LEFT OUTER JOIN usr_stg.usr b
ON a.participant = b.participant
WHERE a.class = 'SpSession' "
我尝试在 spark 和 join 中使用临时表,但查询性能很差,因为每个视图中大约有 ~13,000,000 行。因此,我尝试在 Oracle DB 中使用连接查询。
【问题讨论】:
标签: apache-spark