SKEW-join提示的Spark-Scala等价物
Spark SQL提供了一个倾斜提示(请参阅)。对于Spark Scala是否有类似的提示 示例 这是Spark SQL代码,其中事实表扭曲了ProductId列:SKEW-join提示的Spark-Scala等价物,scala,apache-spark,Scala,Apache Spark,Spark SQL提供了一个倾斜提示(请参阅)。对于Spark Scala是否有类似的提示 示例 这是Spark SQL代码,其中事实表扭曲了ProductId列: SELECT /*+ SKEW('viewFact', 'ProductId') */ RevSumDivisionName, RevSumCategoryName, CloudAddOnFlag, SUM(ActualRevenueAmt) AS RevenueUSD, COUNT(*) AS Cnt FROM v
SELECT /*+ SKEW('viewFact', 'ProductId') */
RevSumDivisionName, RevSumCategoryName, CloudAddOnFlag,
SUM(ActualRevenueAmt) AS RevenueUSD, COUNT(*) AS Cnt
FROM viewFact
INNER JOIN viewPMST ON viewFact.ProductId = viewPMST.ProductId
INNER JOIN viewRsDf ON viewPMST.ProductFamilyId = viewRsDf.ProductFamilyId
INNER JOIN viewRevH ON viewRsDf.RevSumCategoryId = viewRevH.RevSumCategoryId
GROUP BY RevSumDivisionName, RevSumCategoryName, CloudAddOnFlag
Scala中的相同连接:
inFact
.join(inPMst, Seq("ProductId"))
.join(inRsDf, Seq("ProductFamilyId"))
.join(inRevH, Seq("RevSumCategoryId"))
.groupBy($"RevSumDivisionName", $"RevSumCategoryName", $"CloudAddOnFlag")
.agg(sum($"ActualRevenueAmt") as "RevenueUSD", count($"*") as "Cnt")
我只是找不到倾斜提示的语法
Spark SQL提供了一个倾斜提示
事实并非如此。Databricks平台有,但它是Spark中不可用的专有扩展(与索引相同)
我只是找不到倾斜提示的语法
一般情况下,查询计划提示是使用hint
方法传递的,该方法可以这样使用
val hint: String = ???
inFact.join(inPMst.hint(hint), Seq("ProductId")))
感谢您的推荐和纠正我的假设
val提示:String=“SKEW('viewFact','ProductId')”
起作用;请将其添加到您的答案中并声明解决方案?是否有关于如何使用提示的示例(在databricks平台之外)?