Generate SQL from Spark SQL



我有一个带有SparkDataFrame的Scala代码,其中包含几个帧、过滤器和动态部分。

是否可以生成并写入一个经典的SQL代码来控制流程?

val target = List(
("0", "0", "Orange", "2020-03-10")
).toDF("id", "new_id", "name", "process_date")


....
dynamic part of code
....

increment.as("i")
.join(target.as("t"), $"t.id" === $"i.id", "left")
.select(selectFields: _*)

我想在日志中找到类似的东西

select field1, field2, ....
from increment i join target t where t.id = i.id

也许您可以在执行查询后立即在日志中进行写入。

类似于这个例子:

import org.apache.log4j.{Level, Logger}
Logger.getRootLogger.setLevel(Level.ERROR)
// your code here
increment.as("i")
.join(target.as("t"), $"t.id" === $"i.id", "left")
.select(selectFields: _*)
Logger.getRootLogger.error("""SELECT column1, column2, column3 FROM table JOIN table1 ON(id = id1) WHERE column3 = .....GROUP BY ....""")

最新更新