DataFrame vs. Spark SQL

SamAWS
New Contributor III

When should I use DataFrame over Spark SQL?

If DataFrame is better, then why do I need Spark SQL?