我试图比较Spark SQL版本1.6和版本1.5的性能.在一个简单的例子中,Spark 1.6比Spark 1.5快得多.但是,在一个更复杂的查询中 - 在我的例子中是一个带有分组集的聚合查询,Spark SQL 1.6版比Spark SQL 1.5版慢得多.有人注意到同样的问题吗?甚至更好地为这种查询提供解决方案?
这是我的代码
case class Toto(
a: String = f"${(math.random*1e6).toLong}%06.0f",
b: String = f"${(math.random*1e6).toLong}%06.0f",
c: String = f"${(math.random*1e6).toLong}%06.0f",
n: Int = (math.random*1e3).toInt,
m: Double = (math.random*1e3))
val data = sc.parallelize(1 to 1e6.toInt).map(i => Toto())
val df: org.apache.spark.sql.DataFrame = sqlContext.createDataFrame( data )
df.registerTempTable( "toto" )
val sqlSelect = "SELECT a, b, COUNT(1) AS k1, COUNT(DISTINCT n) AS k2, SUM(m) AS k3"
val sqlGroupBy = "FROM toto GROUP BY a, b GROUPING SETS ((a,b),(a),(b))" …Run Code Online (Sandbox Code Playgroud)