..., проверив, находится ли значение столбца в seq.
Возможно, я не очень хорошо объясняю это, я в основном хочу этого (чтобы выразить это с помощью обычного SQL): DF_Column IN seq?
Сначала я сделал это с помощью broadcast var (где я поместил seq), UDF (это проверили) и registerTempTable.
Проблема в том, что я не смог ее протестировать, так как я столкнулся с известной ошибкой, которая, по-видимому, появляется только при использовании registerTempTable с ScalaIDE.
Я закончил создание нового DataFrame из seq и выполнял внутреннее соединение с ним (пересечение), но я сомневаюсь, что это самый эффективный способ выполнения задачи.
Спасибо
РЕДАКТИРОВАТЬ: (в ответ на @YijieShen):
Как сделать filter на основе того, находятся ли элементы одного столбца DataFrame в другом столбце DF (например, SQL select * from A where login in (select username from B))?
например: Первый DF:
login count
login1 192
login2 146
login3 72
Второй DF:
username
login2
login3
login4
Результат:
login count
login2 146
login3 72
Попытки:
EDIT-2: Я думаю, теперь, когда ошибка исправлена, они должны работать. END EDIT-2
ordered.select("login").filter($"login".contains(empLogins("username")))
и
ordered.select("login").filter($"login" in empLogins("username"))
которые оба бросают Exception in thread "main" org.apache.spark.sql.AnalysisException, соответственно:
resolved attribute(s) username#10 missing from login#8 in operator
!Filter Contains(login#8, username#10);
и
resolved attribute(s) username#10 missing from login#8 in operator
!Filter login#8 IN (username#10);
