Dan*_*Dan 3 scala apache-spark
Spark SQL 有一个可用的倾斜提示(请参见此处)。是否有适用于 Spark Scala 的等效提示?
示例 这是事实表倾斜 ProductId 列的 Spark SQL 代码:
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
Run Code Online (Sandbox Code Playgroud)
同样加入 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")
Run Code Online (Sandbox Code Playgroud)
我只是无法找到偏斜提示的语法。
小智 5
Spark SQL 有一个可用的倾斜提示
它不是。Databricks 平台有,但它是一个专有扩展(与索引相同),因此在 Spark 中不可用。
我只是无法找到偏斜提示的语法。
在一般情况下,查询计划提示是使用hint
可以像这样使用的方法传递的
val hint: String = ???
inFact.join(inPMst.hint(hint), Seq("ProductId")))
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
693 次 |
最近记录: |