У нас есть две таблицы, первая из которых содержит код для каждой задачи в каждом запуске.2-я таблица содержит коды всех задач в каждом прогоне.Как запустить спарк SQL, разделив столбец во 2-й таблице на основе разделителя, и использовать его в операторе IN и IN в первой таблице
Таблицы выглядят следующим образом
Таблица f1
+-------+-----+--+
| runid | tid | |
+-------+-----+--+
| 1a | cb4 | |
| 1a | hb5 | |
| 1a | hb6 | |
| 1b | gh6 | |
| 1b | gh7 | |
| 1c | kl9 | |
+-------+-----+--+
Таблица f2
+-------+-------------+
| runid | tid |
+-------+-------------+
| 1a | cb4,hb5,hb6 |
| 1b | gh6,gh7,gh8 |
+-------+-------------+
Я пробовал split, но, похоже, он не работает, и regexp_extract не помогает
select e.* from f1 e inner join
f2 a
on e.runid=a.runid where e.runid in ('1a',
'1b') and e.tid in (select split(a.tid, '[,]') from f2)
Желаемый результат будет
+-------+-----+
| runid | tid |
+-------+-----+
| 1a | cb4 |
| 1a | hb5 |
| 1a | hb6 |
| 1b | gh6 |
| 1b | gh7 |
+-------+-----+
Я новичок в том, что касается искры sql.Любая помощь будет очень признателен