Apache Drill [1] is alternative, using ANSI SQL. Beside json, it support JDBC, csv, parquet, file system traversal, HBase, Mongo, S3... I believe it also support joins across different sources, although I haven't tried that.
EDIT: to add context to the story - Apache Drill is running on JVM and can be embedded, so it can be run from Scala code as well.