У меня есть датафрейм со столбцом даты и значениями, как показано ниже.
df.show()
+----+----------+
|name| dob|
+----+----------+
| Jon|2001-04-15|
| Ben|2002-03-01|
+----+----------+
Теперь мне нужно запросить таблицу в кусте, в которой есть "dob" из вышеупомянутого фрейма данных (оба 2001-04-15 , 2002-03-01). Так что мне нужно передать значения в столбце dob в качестве параметра в мой запрос улья.
Я попытался собрать значения в переменную, как показано ниже, которая дает мне массив строк.
val dobRead = df.select("updt_d").distinct().as[String].collect()
dobRead: Array[String] = Array(2001-04-15, 2002-03-01)
Однако, когда я пытаюсь перейти к запросу, я вижу, что он не подставляется должным образом и выдает ошибку.
val tableRead = hive.executeQuery(s"select emp_name,emp_no,martial_status from <<table_name>> where dateOfBirth in ($dobRead)")
org.apache.hadoop.hive.ql.metadata.HiveException: Failed to compile query: org.apache.hadoop.hive.ql.parse.ParseException: line 1:480 cannot recognize input near '(' '[' 'Ljava' in expression specification
Не могли бы вы помочь мне, как передать значения даты на запрос в спарк.