我有以下代码,它将从mysql数据库中读取表:
val jdbcDF = sparkSession.read
.format("jdbc")
.option("url", "idbc:mysql location")
.option("dbtable", "tablename")
.option("user", "root")
.option("password", "root")
.load().where(some condition)
我的问题:
答案 0 :(得分:0)
除非您执行一些操作,否则即使过滤条件也不会执行任何操作,也不会将数据复制到内存中。懒惰的评价。
一旦执行动作,您编写的代码将被存入内存,然后应用过滤器。如果要在MySQL中执行过滤器,请在dbtable选项中传递查询而不是表名。