ING Interview Question

What are RDDs, DataFrames, and Datasets? When would you use each? How does Spark handle fault tolerance?