Sql 什么是内部连接?

Sql 什么是内部连接?,sql,apache-spark,apache-spark-sql,Sql,Apache Spark,Apache Spark Sql,在连接策略的Spark源代码中,代码注释提到广播哈希连接BHJ: 完全外部联接不支持BHJ。对于右外连接,我们 只能播放左侧。用于左外、左半、左反 而内部连接类型存在join,我们只能广播 右边。对于内部连接,我们可以同时广播双方。 通常情况下,在以下情况下,BHJ可以比其他连接算法执行得更快: 广播端很小。然而,广播表是一个重要的功能 网络密集型经营。它可能导致OOM或性能比 其他连接算法,尤其是在构建/广播端 大 你能解释一下代码注释是什么意思吗 类内连接 根据innerlike,用于内部连

在连接策略的Spark源代码中,代码注释提到广播哈希连接BHJ:

完全外部联接不支持BHJ。对于右外连接,我们 只能播放左侧。用于左外、左半、左反 而内部连接类型存在join,我们只能广播 右边。对于内部连接,我们可以同时广播双方。 通常情况下,在以下情况下,BHJ可以比其他连接算法执行得更快: 广播端很小。然而,广播表是一个重要的功能 网络密集型经营。它可能导致OOM或性能比 其他连接算法,尤其是在构建/广播端 大

你能解释一下代码注释是什么意思吗

类内连接

根据innerlike,用于内部连接和交叉连接

您还可以发现Spark SQL使用以下两个 加入:

带内部和交叉的InnerLike LeftExistence与LeftSemi、LeftAnti和ExistenceJoin 根据innerlike,用于内部连接和交叉连接

您还可以发现Spark SQL使用以下两个 加入:

带内部和交叉的InnerLike LeftExistence与LeftSemi、LeftAnti和ExistenceJoin
最终在代码中找到:

InnerLike包括:内部连接和交叉连接

sealed abstract class InnerLike extends JoinType {
  def explicitCartesian: Boolean
}

case object Inner extends InnerLike {
  override def explicitCartesian: Boolean = false
  override def sql: String = "INNER"
}

case object Cross extends InnerLike {
  override def explicitCartesian: Boolean = true
  override def sql: String = "CROSS"
}

最终在代码中找到:

InnerLike包括:内部连接和交叉连接

sealed abstract class InnerLike extends JoinType {
  def explicitCartesian: Boolean
}

case object Inner extends InnerLike {
  override def explicitCartesian: Boolean = false
  override def sql: String = "INNER"
}

case object Cross extends InnerLike {
  override def explicitCartesian: Boolean = true
  override def sql: String = "CROSS"
}

我将短语理解为:对于类似于内部联接的联接…,虽然正常的内部联接是我唯一能想到的类似于内部联接的联接。@TravisHegner:谢谢,看起来它包括内部联接和交叉联接。我将短语理解为:对于类似于内部联接的联接…,尽管正常的内部联接是我唯一能想到的类似于内部联接的联接。@TravisHegner:谢谢,看起来它包括内部连接和交叉连接