我查看了文档,发现支持以下联接类型:
要执行的联接的类型。默认内部。必须是下列之一:INTERNAL、CROSS、OUTER、FULL、FULL_OUTER、LEFT、LEFT_OUTER、RIGHT、RIGHT_OUTER、LEFT_SEMI、LEFT_ANT。
我查看了关于SQL连接的StackOverflow answer,排名前两位的答案没有提到上面的一些连接,例如left_semi
和left_anti
。他们在Spark中的意思是什么?
我查看了文档,发现支持以下联接类型:
要执行的联接的类型。默认内部。必须是下列之一:INTERNAL、CROSS、OUTER、FULL、FULL_OUTER、LEFT、LEFT_OUTER、RIGHT、RIGHT_OUTER、LEFT_SEMI、LEFT_ANT。
我查看了关于SQL连接的StackOverflow answer,排名前两位的答案没有提到上面的一些连接,例如left_semi
和left_anti
。他们在Spark中的意思是什么?
5条答案
按热度按时间eiee3dmh1#
下面是一个简单的说明性实验:
输出
ryevplcw2#
喜欢巴西克利特的榜样。以下是使用Spark v2和 Dataframe (包括交叉联接)在Java中进行的可能转换。
我将把这个例子放在Spark in Action, 2e的chapter 12 repository中。
eeq64g8w3#
e1xvtsh34#
Left Semi返回在两个表中都找到连接键的行,但它只包括左表中的字段。
Left Anti返回连接键仅在左表中找到的行。
对不同连接类型的良好描述:https://www.cloudera.com/documentation/enterprise/latest/topics/impala_joins.html
du7egjpx5#