我需要从Oracle表创建数据框。为了减少检索到的数据,我尝试首先将从输入文件派生的键写到临时表中,然后再进行联接。 代码就像
Dataset df = session.createDataFrame(keys, schema);
df.write().mode(“append”).jdbc(url, “mytemptable”, prop);
df=session.read().jdbc(url, “select * from Account a inner join mytemptable t on t.key=a.key);
但是,它总是返回0行,这意味着写和读都使用不同的jdbc连接。如果我们转换为纯jdbc代码,则查询将按预期工作。
是否可以在Spark会话中缓存jdbc连接?