RDDs are the new bytecode of Apache Spark
ogirardot.wordpress.com
ogirardot.wordpress.com
There's one past attempt at making it more type safe by using macros. However, there are a lot of caveats for that to be used in practice. https://github.com/marmbrus/sql-typed
For example the MongoDB adapter samples the data at runtime to determine what the DataFrame definition i.e. types is.