有没有办法在Spark SQL语句中使用广播?
例如:
SELECT
Column
FROM
broadcast (Table 1)
JOIN
Table 2
ON
Table1.key = Table2.key
就我而言,表1也是一个子查询。
答案 0 :(得分:6)
在Spark 2.2或更高版本中,您可以使用计划程序提示:
<xsl:value-of select="substring-after(Product/CreateDate, '-')" />
<xsl:text>/</xsl:text>
<xsl:value-of select="substring-before(Product/CreateDate, '-')" />
答案 1 :(得分:2)
以下是广播连接的语法:
SELECT /*+ BROADCAST(Table 2) */ COLUMN
FROM Table 1 join Table 2
on Table1.key= Table2.key
要检查是否发生广播联接,可以在“ SQL”选项卡中签入Spark UI端口号18080。
我们需要确保广播连接是否真正起作用的原因是因为我们之前使用了以下语法: / * BROADCASTJOIN(Table2)* /不会引发语法错误,但是在UI中它正在执行排序合并联接
因此,至关重要的是确保我们的联接按预期工作