Spark 2.2 Структурированный потоковый поток — проблема со статическим левым внешним соединением

#spark-structured-streaming

#spark-structured-streaming

Вопрос:

Кажется, я чего-то не хватает в потоковом статическом соединении в Spark 2.2.

В руководстве указано, что такое объединение возможно, но я не могу получить правильный синтаксис. Странно. Водяной знак не используется.

 val joinedDs = salesDs
  .join(customerDs, "customerId", joinType="leftOuter")
  

Полученная ошибка выглядит следующим образом, но я почти уверен, что у меня правильные стороны:

 <console>:81: error: overloaded method value join with alternatives:
  (right: org.apache.spark.sql.Dataset[_],joinExprs: 
org.apache.spark.sql.Column,joinType: String)org.apache.spark.sql.DataFrame <and>
  (right: org.apache.spark.sql.Dataset[_],usingColumns: Seq[String],joinType: String)org.apache.spark.sql.DataFrame
 cannot be applied to (org.apache.spark.sql.Dataset[Customer], String, joinType: String)
         .join(customerDs, "customerId", joinType="left_Outer")
          ^
  

Ответ №1:

По какой-то причине при добавлении joinType мне также нужно было добавить Seq.

   .join(customerDs, Seq("customerId"), "left_Outer")