Skip to content

Instantly share code, notes, and snippets.

View palesz's full-sized avatar

Andras Palinkas palesz

  • Toronto, Canada
View GitHub Profile
@yoyama
yoyama / Schema2CaseClass.scala
Created January 20, 2017 07:36
Generate case class from spark DataFrame/Dataset schema.
/**
* Generate Case class from DataFrame.schema
*
* val df:DataFrame = ...
*
* val s2cc = new Schema2CaseClass
* import s2cc.implicit._
*
* println(s2cc.schemaToCaseClass(df.schema, "MyClass"))
*
package eval
import scala.reflect.runtime.currentMirror
import scala.tools.reflect.ToolBox
import java.io.File
object Eval {
def apply[A](string: String): A = {
val toolbox = currentMirror.mkToolBox()
(defn replace-symbols
"Given a map of replacement pairs and a form, returns a (nested)
form with any symbol = a key in smap replaced with the corresponding
val in smap."
[smap form]
(if (sequential? form)
(map (partial replace-symbols smap) form)
(get smap form form)))
(defmacro lazy-let