Я хочу передать фрейм данных, у которого есть набор значений, в новый запрос, но он не выполнен.
1) Здесь я выбираю конкретный столбец, чтобы в следующем запросе я мог передать его под ISIN
scala> val managerIdDf=finalEmployeesDf.filter($"manager_id"!==0).select($"manager_id").distinct
managerIdDf: org.apache.spark.sql.DataFrame = [manager_id: bigint]
2) Мои образцы данных:
scala> managerIdDf.show
+----------+
|manager_id|
+----------+
| 67832|
| 65646|
| 5646|
| 67858|
| 69062|
| 68319|
| 66928|
+----------+
3)Когда я выполняю окончательный запрос, он терпит неудачу:
scala> finalEmployeesDf.filter($"emp_id".isin(managerIdDf)).select("*").show
java.lang.RuntimeException: Unsupported literal type class org.apache.spark.sql.DataFrame [manager_id: bigint]
Я также пытался преобразовать в List
и Seq
, но он выдает только ошибку.Как показано ниже, когда я пытаюсь преобразовать в Seq
и повторно выполнить запрос, он выдает ошибку:
scala> val seqDf=managerIdDf.collect.toSeq
seqDf: Seq[org.apache.spark.sql.Row] = WrappedArray([67832], [65646], [5646], [67858], [69062], [68319], [66928])
scala> finalEmployeesDf.filter($"emp_id".isin(seqDf)).select("*").show
java.lang.RuntimeException: Unsupported literal type class scala.collection.mutable.WrappedArray$ofRef WrappedArray([67832], [65646], [5646], [67858], [69062], [68319], [66928])
Я также сослался на этот пост, но тщетно.Этот тип запроса, я пытаюсь это для решения подзапросов в спрей фрейма данных.Кто-нибудь здесь, пожалуйста?