Why Netflix ❤'s Scala for Machine Learning
summary
Netflix uses Scala to encode more meaning into types, shipping a lightweight schema types layer that wraps Spark DataFrames with phantom types, runtime validation, and implicit-driven schema composition so transforms compose and the compiler rejects missing inputs. A research prototype encodes function ASTs in types as symbolic functions, computes derivatives via dependent type rules and macros, then reify to DoubleUnaryOperator at compile time; schema tooling is production-used, the symbolic work is a promising POC. Scala 3 features (opaque types, cleaner metaprogramming) are expected to remove current pain points.
AI-written summary · about
chapters (14)
- 0:00Start
- 4:41Some examples
- 5:27Schema types
- 10:03Transform functions
- 11:17Inferred transforms
- 13:07Compositional flavors
- 14:57Symbolic functions
- 16:15Expression DSL
- 19:07Teach the compiler algebra!
- 20:15Teach the compiler calculus?
- 21:00OK, a couple of macros
- 21:53Power rule
- 27:18Other thoughts
- 30:41Coming soon to Scala 3
related talks
39mMachine Learning with Scala on Spark
42mScala: The Unpredicted Lingua Franca for Data Science
47mScala: The Unpredicted Lingua Franca for Data Science
04mInterview
35mTowards Typesafe Deep Learning in Scala
29mFrom encoding to machine learning a story of managing media data at Netflix
47mScala: The Unpredicted Lingua Franca for Data Science
53mKeynote Interview
