Spark SQLバージョン1.6とバージョン1.5のパフォーマンスを比較しようとしました。単純なケースでは、Spark 1.6はSpark 1.5よりもかなり高速です。しかし、より複雑なクエリでは、私の場合、グループ化セットによる集約クエリでは、Spark SQLバージョン1.6はSpark SQLバージョン1.5よりも非常に遅いです。誰もが同じ問題に気付いていますか?この種のクエリの解決策がある方が良いでしょうか?ここSpark SQLパフォーマンス:バージョン1.6対バージョン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))"
val sqlText = s"$sqlSelect $sqlGroupBy"
val rs1 = sqlContext.sql(sqlText)
rs1.saveAsParquetFile("rs1")
ある--driverメモリ= 1Gと2つのスクリーンショットSpark 1.5.2とSpark 1.6.0あります。 Spark 1.6.0のDAGはDAGで閲覧できます。
1.6でさらにシャッフルしているようですが、2つのDAGを投稿できますか? –
ありがとう@SebastianPiu。 [spark 1.5.2](http://i.stack.imgur.com/dLXiK.png)と[spark 1.6.0](http://i.stack.imgur)で空のDAGを持つ2つのスクリーンショットを見ることができます.com/4oomU.png)。それ以外の場合、SparkはDAGを正しく表示します。 –
悲しいことに、悲しいことに、これはChromeが更新されてDAGのトラブルシューティングが不可能になったときに発生するバグです:( –