是否可以在scala中执行字符串作为代码

时间:2017-07-28 19:30:17

标签: scala apache-spark

所以对于spark sql你可以这样做:

val query = s"select *from table...."
val temp = sqlContext.sql(query)

对于普通的火花代码,有什么类似的吗?就像在python中一样,它们有exec(string)函数,它接受字符串并将其作为代码运行。 这是链接:Click Me

1 个答案:

答案 0 :(得分:0)

Gatling应用程序正在执行类似的技巧,它们允许您编写任意Scala代码以进行负载测试,然后使用其框架运行它。

据我记得,他们基本上将Scala代码编写到一个文件中,在其前面添加/添加如下内容:

class MyClass {
  def foo() = {
  // Code goes here
  }
}

并执行Scala编译器来编译此代码,然后将此代码作为常规类加载。