我正在开发一个到Spark的plSql转换。
在plSql脚本中有一个表:baseTable用5创建 列:a,b,c,d,e,f,g,h,i,j,k。下一步 脚本将数据插入到baseTable中,但只插入到 列:a,b,c,d
在脚本中有一个更新查询:update1,用于插入 数据进入列:e,f来自另一个表:table1通过执行 与baseTable一起加入。
以相同的方式列:g,h,i使用查询更新:update2 from table2和columns:j,k使用query:update3 from 表3
现在我在表格的所有列中都有数据:baseTable
以下是我在spark代码中执行连接的方式:
为查询创建了另一个数据框:update1并使用df1加入它。 (使用的连接类型:left_join和df1在左侧)。 让我们说结果表名是:“res1”
为查询创建了一个数据框:update2并将其与res1连接在一起。 (使用的连接类型:left_join和res1在左侧)。 结果命名为“res2”
我在spark中执行的连接给了我正确的数据,但这项工作需要花费大量时间才能完成。 从技术上讲,我从plSql脚本执行了相同的操作。如果我从脚本中遵循相同的方式,这是一个昂贵的连接吗? 如果有任何其他加入可以使它更快,任何人都可以让我知道。